log: make -fr show complete history from the given revs
Right now it's very obtuse to show the history of a particular rev (hg log -r
'reverse(::foo)'). This changes the -f option to make it follow history for the
revs specified by -r.
The current -f -r behavior is to limit the result of -r to only the
commits that are ancestors of the current working copy. Changing this
is a bit of a BC break, but the old behavior is A) rare, B) easy to
emulate (& ::.), and C) currently undefined. The new behavior is
frequently requested enough that I think the change is worth it.
--- a/mercurial/commands.py Tue Feb 24 14:12:13 2015 +0100
+++ b/mercurial/commands.py Fri Feb 06 11:04:55 2015 -0800
@@ -4478,6 +4478,10 @@
Returns 0 on success.
"""
+ if opts.get('follow') and opts.get('rev'):
+ opts['rev'] = [revset.formatspec('reverse(::%lr)', opts.get('rev'))]
+ del opts['follow']
+
if opts.get('graph'):
return cmdutil.graphlog(ui, repo, *pats, **opts)
--- a/tests/test-glog.t Tue Feb 24 14:12:13 2015 +0100
+++ b/tests/test-glog.t Fri Feb 06 11:04:55 2015 -0800
@@ -2202,13 +2202,6 @@
(func
('symbol', 'rev')
('symbol', '6'))))
- --- log.nodes * (glob)
- +++ glog.nodes * (glob)
- @@ -1,3 +1,3 @@
- -nodetag 6
- nodetag 8
- nodetag 7
- +nodetag 6
Test --follow-first and forward --rev
--- a/tests/test-log.t Tue Feb 24 14:12:13 2015 +0100
+++ b/tests/test-log.t Fri Feb 06 11:04:55 2015 -0800
@@ -631,7 +631,7 @@
-log -f -r 1:tip
+log -f -r '1 + 4'
$ hg up -C 0
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -639,25 +639,24 @@
$ hg ci -Amb2 -d '1 0'
adding b2
created new head
- $ hg log -f -r 1:tip
+ $ hg log -f -r '1 + 4'
+ changeset: 4:ddb82e70d1a1
+ tag: tip
+ parent: 0:67e992f2c4f3
+ user: test
+ date: Thu Jan 01 00:00:01 1970 +0000
+ summary: b2
+
changeset: 1:3d5bf5654eda
user: test
date: Thu Jan 01 00:00:01 1970 +0000
summary: r1
- changeset: 2:60c670bf5b30
+ changeset: 0:67e992f2c4f3
user: test
date: Thu Jan 01 00:00:01 1970 +0000
- summary: r2
+ summary: base
- changeset: 3:e62f78d544b4
- parent: 1:3d5bf5654eda
- user: test
- date: Thu Jan 01 00:00:01 1970 +0000
- summary: b1
-
-
-
log -f -r null
$ hg log -f -r null
@@ -1346,6 +1345,11 @@
date: Thu Jan 01 00:00:00 1970 +0000
summary: add foo, related
+ changeset: 2:c4c64aedf0f7
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: add unrelated old foo
+
$ cd ..
Issue2383: hg log showing _less_ differences than hg diff