Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 4648:8e503fa54d2d
Add option to heads to show only heads for current branch.
author | Eric Hopper <hopper@omnifarious.org> |
---|---|
date | Tue, 19 Jun 2007 08:37:43 -0700 |
parents | 196d90bf5c15 |
children | 52259d5fb76d |
comparison
equal
deleted
inserted
replaced
4647:7c80e3e6f030 | 4648:8e503fa54d2d |
---|---|
1204 continue | 1204 continue |
1205 if fn not in copies.get(prev[fn], {}): | 1205 if fn not in copies.get(prev[fn], {}): |
1206 found = display(fn, rev, {}, state) or found | 1206 found = display(fn, rev, {}, state) or found |
1207 return (not found and 1) or 0 | 1207 return (not found and 1) or 0 |
1208 | 1208 |
1209 def heads(ui, repo, **opts): | 1209 def heads(ui, repo, *branchrevs, **opts): |
1210 """show current repository heads | 1210 """show current repository heads or show branch heads |
1211 | 1211 |
1212 Show all repository head changesets. | 1212 With no arguments, show all repository head changesets. |
1213 | 1213 |
1214 Repository "heads" are changesets that don't have children | 1214 If branch or revisions names are given this will show the heads of |
1215 the specified branches or the branches those revisions are tagged | |
1216 with. | |
1217 | |
1218 Repository "heads" are changesets that don't have child | |
1215 changesets. They are where development generally takes place and | 1219 changesets. They are where development generally takes place and |
1216 are the usual targets for update and merge operations. | 1220 are the usual targets for update and merge operations. |
1221 | |
1222 Branch heads are changesets that have a given branch tag, but have | |
1223 no child changesets with that tag. They are usually where | |
1224 development on the given branch takes place. | |
1217 """ | 1225 """ |
1218 if opts['rev']: | 1226 if opts['rev']: |
1219 heads = repo.heads(repo.lookup(opts['rev'])) | 1227 start = repo.lookup(opts['rev']) |
1220 else: | 1228 else: |
1221 heads = repo.heads() | 1229 start = None |
1230 if not branchrevs: | |
1231 # Assume we're looking repo-wide heads if no revs were specified. | |
1232 heads = repo.heads(start) | |
1233 else: | |
1234 heads = [] | |
1235 visitedset = set() | |
1236 displayer = cmdutil.show_changeset(ui, repo, opts) | |
1237 for branchrev in branchrevs: | |
1238 branch = repo.changectx(branchrev).branch() | |
1239 if branch in visitedset: | |
1240 continue | |
1241 visitedset.add(branch) | |
1242 bheads = repo.branchheads(branch, start) | |
1243 if not bheads: | |
1244 if branch != branchrev: | |
1245 ui.warn(_("no changes on branch %s containing %s are " | |
1246 "reachable from %s\n") | |
1247 % (branch, branchrev, opts['rev'])) | |
1248 else: | |
1249 ui.warn(_("no changes on branch %s are reachable from %s\n") | |
1250 % (branch, opts['rev'])) | |
1251 heads.extend(bheads) | |
1252 if not heads: | |
1253 return 1 | |
1222 displayer = cmdutil.show_changeset(ui, repo, opts) | 1254 displayer = cmdutil.show_changeset(ui, repo, opts) |
1223 for n in heads: | 1255 for n in heads: |
1224 displayer.show(changenode=n) | 1256 displayer.show(changenode=n) |
1225 | 1257 |
1226 def help_(ui, name=None, with_version=False): | 1258 def help_(ui, name=None, with_version=False): |
2788 "heads": | 2820 "heads": |
2789 (heads, | 2821 (heads, |
2790 [('', 'style', '', _('display using template map file')), | 2822 [('', 'style', '', _('display using template map file')), |
2791 ('r', 'rev', '', _('show only heads which are descendants of rev')), | 2823 ('r', 'rev', '', _('show only heads which are descendants of rev')), |
2792 ('', 'template', '', _('display with template'))], | 2824 ('', 'template', '', _('display with template'))], |
2793 _('hg heads [-r REV]')), | 2825 _('hg heads [-r REV] [REV]...')), |
2794 "help": (help_, [], _('hg help [COMMAND]')), | 2826 "help": (help_, [], _('hg help [COMMAND]')), |
2795 "identify|id": (identify, [], _('hg identify')), | 2827 "identify|id": (identify, [], _('hg identify')), |
2796 "import|patch": | 2828 "import|patch": |
2797 (import_, | 2829 (import_, |
2798 [('p', 'strip', 1, | 2830 [('p', 'strip', 1, |