changeset 12383:f1e8d6f6e682

merge with stable
author Mads Kiilerich <mads@kiilerich.com>
date Thu, 23 Sep 2010 01:59:02 +0200
parents 1e2625fe371b (current diff) 28ddf67198b2 (diff)
children 8eedf53547b8
files mercurial/commands.py tests/test-archive.t tests/test-log.t
diffstat 2 files changed, 78 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Wed Sep 22 18:29:41 2010 -0500
+++ b/mercurial/commands.py	Thu Sep 23 01:59:02 2010 +0200
@@ -2502,7 +2502,11 @@
 
         revmatchfn = None
         if opts.get('patch') or opts.get('stat'):
-            revmatchfn = cmdutil.match(repo, fns, default='path')
+            if opts.get('follow') or opts.get('follow_first'):
+                # note: this might be wrong when following through merges
+                revmatchfn = cmdutil.match(repo, fns, default='path')
+            else:
+                revmatchfn = matchfn
 
         displayer.show(ctx, copies=copies, matchfn=revmatchfn)
 
--- a/tests/test-log.t	Wed Sep 22 18:29:41 2010 -0500
+++ b/tests/test-log.t	Thu Sep 23 01:59:02 2010 +0200
@@ -1019,3 +1019,76 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     add foo, related
   
+
+Test from/for issue2383
+
+  $ hg init issue2383
+  $ cd issue2383
+
+Create a test repo:
+
+  $ echo a > a
+  $ hg ci -Am0
+  adding a
+  $ echo b > b
+  $ hg ci -Am1
+  adding b
+  $ hg co 0
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ echo b > a
+  $ hg ci -m2
+  created new head
+
+Merge:
+
+  $ hg merge
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+
+Make sure there's a file listed in the merge to trigger the bug:
+
+  $ echo c > a
+  $ hg ci -m3
+
+Two files shown here in diff:
+
+  $ hg diff --rev 2:3
+  diff -r b09be438c43a -r 8e07aafe1edc a
+  --- a/a	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,1 +1,1 @@
+  -b
+  +c
+  diff -r b09be438c43a -r 8e07aafe1edc b
+  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/b	Thu Jan 01 00:00:00 1970 +0000
+  @@ -0,0 +1,1 @@
+  +b
+
+Diff here should be the same:
+
+  $ hg log -vpr 3
+  changeset:   3:8e07aafe1edc
+  tag:         tip
+  parent:      2:b09be438c43a
+  parent:      1:925d80f479bb
+  user:        test
+  date:        Thu Jan 01 00:00:00 1970 +0000
+  files:       a
+  description:
+  3
+  
+  
+  diff -r b09be438c43a -r 8e07aafe1edc a
+  --- a/a	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
+  @@ -1,1 +1,1 @@
+  -b
+  +c
+  diff -r b09be438c43a -r 8e07aafe1edc b
+  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+  +++ b/b	Thu Jan 01 00:00:00 1970 +0000
+  @@ -0,0 +1,1 @@
+  +b
+  
+  $ cd ..