--- a/mercurial/commands.py Sat Feb 09 12:27:58 2008 -0500
+++ b/mercurial/commands.py Sat Feb 09 20:43:42 2008 -0800
@@ -1713,6 +1713,8 @@
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 @@
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 @@
('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')),
--- a/tests/test-branches Sat Feb 09 12:27:58 2008 -0500
+++ b/tests/test-branches Sat Feb 09 20:43:42 2008 -0800
@@ -34,3 +34,9 @@
hg branches
echo '-------'
hg branches -a
+
+echo "--- Branch a"
+hg log -b a
+
+echo "---- Branch b"
+hg log -b b
--- a/tests/test-branches.out Sat Feb 09 12:27:58 2008 -0500
+++ b/tests/test-branches.out Sat Feb 09 20:43:42 2008 -0800
@@ -10,3 +10,31 @@
-------
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
+