diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1713,6 +1713,8 @@ def log(ui, repo, *pats, **opts): if opts["date"]: df = util.matchdate(opts["date"]) + only_branches = opts['only_branch'] + displayer = cmdutil.show_changeset(ui, repo, opts, True, matchfn) for st, rev, fns in changeiter: if st == 'add': @@ -1724,6 +1726,11 @@ def log(ui, repo, *pats, **opts): if opts['only_merges'] and len(parents) != 2: continue + if only_branches: + revbranch = get(rev)[5]['branch'] + if revbranch not in only_branches: + continue + if df: changes = get(rev) if not df(changes[2][0]): @@ -2930,6 +2937,8 @@ table = { ('M', 'no-merges', None, _('do not show merges')), ('', 'style', '', _('display using template map file')), ('m', 'only-merges', None, _('show only merges')), + ('b', 'only-branch', [], + _('show only changesets within the given named branch')), ('p', 'patch', None, _('show patch')), ('P', 'prune', [], _('do not display revision or any of its ancestors')), ('', 'template', '', _('display with template')), diff --git a/tests/test-branches b/tests/test-branches --- a/tests/test-branches +++ b/tests/test-branches @@ -34,3 +34,9 @@ hg commit -d '5 0' -u test -m "Adding c hg branches echo '-------' hg branches -a + +echo "--- Branch a" +hg log -b a + +echo "---- Branch b" +hg log -b b diff --git a/tests/test-branches.out b/tests/test-branches.out --- a/tests/test-branches.out +++ b/tests/test-branches.out @@ -10,3 +10,31 @@ default 0:19709c5 ------- c 5:5ca481e59b8c a 1:dd6b440dd85a +--- Branch a +changeset: 1:dd6b440dd85a +branch: a +user: test +date: Thu Jan 01 00:00:01 1970 +0000 +summary: Adding a branch + +---- Branch b +changeset: 4:22df7444f7c1 +branch: b +parent: 2:ac22033332d1 +user: test +date: Thu Jan 01 00:00:04 1970 +0000 +summary: Adding b branch head 2 + +changeset: 3:aee39cd168d0 +branch: b +user: test +date: Thu Jan 01 00:00:03 1970 +0000 +summary: Adding b branch head 1 + +changeset: 2:ac22033332d1 +branch: b +parent: 0:19709c5a4e75 +user: test +date: Thu Jan 01 00:00:02 1970 +0000 +summary: Adding b branch +