Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 13477:0fb2ff949790 stable
id: add bookmarks to id
Since bookmarks are no longer merged with repo.tags() as of
d012d95499f7, they don't show up in `hg id` as they used to. This adds
them back into the summary that `hg id` prints, and adds a
-B/--bookmarks flag alongside the -t/--tags and -b/--branch options.
Note this introduces a slight backwards-incompatibility: the summary
printed by `hg id` now separates bookmarks from tags with a space, as
seen below, instead of running it into the tags list.
Default summary output:
$ hg id
db815d6d32e6 tip/tag1 bm1/bm2
Output with --bookmarks:
$ hg id --bookmarks
bm1 bm2
See also afc84a879ac8 which adds bookmarks back into `hg summary`.
author | Kevin Bullock <kbullock@ringworld.org> |
---|---|
date | Fri, 18 Feb 2011 17:09:08 -0600 |
parents | bbdd858e3229 |
children | 0b79cf616e65 8ee4b00ddfd8 |
comparison
equal
deleted
inserted
replaced
13476:b85a09f368bd | 13477:0fb2ff949790 |
---|---|
2238 initindent=initindent, | 2238 initindent=initindent, |
2239 hangindent=hangindent))) | 2239 hangindent=hangindent))) |
2240 else: | 2240 else: |
2241 ui.write("%s\n" % opt) | 2241 ui.write("%s\n" % opt) |
2242 | 2242 |
2243 def identify(ui, repo, source=None, | 2243 def identify(ui, repo, source=None, rev=None, |
2244 rev=None, num=None, id=None, branch=None, tags=None): | 2244 num=None, id=None, branch=None, tags=None, bookmarks=None): |
2245 """identify the working copy or specified revision | 2245 """identify the working copy or specified revision |
2246 | 2246 |
2247 With no revision, print a summary of the current state of the | 2247 With no revision, print a summary of the current state of the |
2248 repository. | 2248 repository. |
2249 | 2249 |
2261 if not repo and not source: | 2261 if not repo and not source: |
2262 raise util.Abort(_("there is no Mercurial repository here " | 2262 raise util.Abort(_("there is no Mercurial repository here " |
2263 "(.hg not found)")) | 2263 "(.hg not found)")) |
2264 | 2264 |
2265 hexfunc = ui.debugflag and hex or short | 2265 hexfunc = ui.debugflag and hex or short |
2266 default = not (num or id or branch or tags) | 2266 default = not (num or id or branch or tags or bookmarks) |
2267 output = [] | 2267 output = [] |
2268 | 2268 |
2269 revs = [] | 2269 revs = [] |
2270 if source: | 2270 if source: |
2271 source, branches = hg.parseurl(ui.expandpath(source)) | 2271 source, branches = hg.parseurl(ui.expandpath(source)) |
2275 if not repo.local(): | 2275 if not repo.local(): |
2276 if not rev and revs: | 2276 if not rev and revs: |
2277 rev = revs[0] | 2277 rev = revs[0] |
2278 if not rev: | 2278 if not rev: |
2279 rev = "tip" | 2279 rev = "tip" |
2280 if num or branch or tags: | 2280 if num or branch or tags or bookmarks: |
2281 raise util.Abort( | 2281 raise util.Abort(_("can't query remote revision number," |
2282 _("can't query remote revision number, branch, or tags")) | 2282 " branch, tags, or bookmarks")) |
2283 output = [hexfunc(repo.lookup(rev))] | 2283 output = [hexfunc(repo.lookup(rev))] |
2284 elif not rev: | 2284 elif not rev: |
2285 ctx = repo[None] | 2285 ctx = repo[None] |
2286 parents = ctx.parents() | 2286 parents = ctx.parents() |
2287 changed = False | 2287 changed = False |
2308 # multiple tags for a single parent separated by '/' | 2308 # multiple tags for a single parent separated by '/' |
2309 t = "/".join(ctx.tags()) | 2309 t = "/".join(ctx.tags()) |
2310 if t: | 2310 if t: |
2311 output.append(t) | 2311 output.append(t) |
2312 | 2312 |
2313 # multiple bookmarks for a single parent separated by '/' | |
2314 bm = '/'.join(ctx.bookmarks()) | |
2315 if bm: | |
2316 output.append(bm) | |
2317 | |
2313 if branch: | 2318 if branch: |
2314 output.append(ctx.branch()) | 2319 output.append(ctx.branch()) |
2315 | 2320 |
2316 if tags: | 2321 if tags: |
2317 output.extend(ctx.tags()) | 2322 output.extend(ctx.tags()) |
2323 | |
2324 if bookmarks: | |
2325 output.extend(ctx.bookmarks()) | |
2318 | 2326 |
2319 ui.write("%s\n" % ' '.join(output)) | 2327 ui.write("%s\n" % ' '.join(output)) |
2320 | 2328 |
2321 def import_(ui, repo, patch1, *patches, **opts): | 2329 def import_(ui, repo, patch1, *patches, **opts): |
2322 """import an ordered set of patches | 2330 """import an ordered set of patches |
4458 [('r', 'rev', '', | 4466 [('r', 'rev', '', |
4459 _('identify the specified revision'), _('REV')), | 4467 _('identify the specified revision'), _('REV')), |
4460 ('n', 'num', None, _('show local revision number')), | 4468 ('n', 'num', None, _('show local revision number')), |
4461 ('i', 'id', None, _('show global revision id')), | 4469 ('i', 'id', None, _('show global revision id')), |
4462 ('b', 'branch', None, _('show branch')), | 4470 ('b', 'branch', None, _('show branch')), |
4463 ('t', 'tags', None, _('show tags'))], | 4471 ('t', 'tags', None, _('show tags')), |
4464 _('[-nibt] [-r REV] [SOURCE]')), | 4472 ('B', 'bookmarks', None, _('show bookmarks'))], |
4473 _('[-nibtB] [-r REV] [SOURCE]')), | |
4465 "import|patch": | 4474 "import|patch": |
4466 (import_, | 4475 (import_, |
4467 [('p', 'strip', 1, | 4476 [('p', 'strip', 1, |
4468 _('directory strip option for patch. This has the same ' | 4477 _('directory strip option for patch. This has the same ' |
4469 'meaning as the corresponding patch option'), | 4478 'meaning as the corresponding patch option'), |