Patchwork [5,of,7] tests: make external diff command output portable

login
register
mail settings
Submitter Katsunori FUJIWARA
Date Feb. 5, 2016, 1:53 p.m.
Message ID <928c95eab0128dd1475e.1454680418@feefifofum>
Download mbox | patch
Permalink /patch/13004/
State Accepted
Headers show

Comments

Katsunori FUJIWARA - Feb. 5, 2016, 1:53 p.m.
# HG changeset patch
# User FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
# Date 1454679125 -32400
#      Fri Feb 05 22:32:05 2016 +0900
# Node ID 928c95eab0128dd1475e0dd8ebdb3a820a84a529
# Parent  3b10fa10cdd14d4e20a32de71531573be6a5f6fc
tests: make external diff command output portable

Before this patch, some tests using external "diff" command via
extdiff extension fail on Solaris, because of incompatibility of
"diff" command output.

For example, system standard "diff" (= /usr/bin/diff) on Solaris
differs from GNU diff in points below:

  - timezone isn't displayed for timestamp value of each files

  - chunk header is always formatted in "@@ -X.x +Y.y @@" style

    On Linux, ".x" and/or ".y" are sometimes omitted.

  - newly created file causes "@@ -1,0 +1,nnnn @@" chunk header

    On Linux, "@@ -0,0 +1,nnnn @@" is used in such case.

In fact, even after this patch, tests below aren't yet portable,
because of other incompatibility of "diff".

  test-subrepo-deep-nested-change.t
  test-largefiles-update.t
Augie Fackler - Feb. 5, 2016, 9:35 p.m.
On Fri, Feb 05, 2016 at 10:53:38PM +0900, FUJIWARA Katsunori wrote:
> # HG changeset patch
> # User FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
> # Date 1454679125 -32400
> #      Fri Feb 05 22:32:05 2016 +0900
> # Node ID 928c95eab0128dd1475e0dd8ebdb3a820a84a529
> # Parent  3b10fa10cdd14d4e20a32de71531573be6a5f6fc
> tests: make external diff command output portable

Did you look into adding a check-code rule for this? I know we'll fail
to maintain this discipline fairly quickly if we don't have such a
check.

>
> Before this patch, some tests using external "diff" command via
> extdiff extension fail on Solaris, because of incompatibility of
> "diff" command output.
>
> For example, system standard "diff" (= /usr/bin/diff) on Solaris
> differs from GNU diff in points below:
>
>   - timezone isn't displayed for timestamp value of each files
>
>   - chunk header is always formatted in "@@ -X.x +Y.y @@" style
>
>     On Linux, ".x" and/or ".y" are sometimes omitted.
>
>   - newly created file causes "@@ -1,0 +1,nnnn @@" chunk header
>
>     On Linux, "@@ -0,0 +1,nnnn @@" is used in such case.
>
> In fact, even after this patch, tests below aren't yet portable,
> because of other incompatibility of "diff".
>
>   test-subrepo-deep-nested-change.t
>   test-largefiles-update.t
>
> diff --git a/tests/test-graft.t b/tests/test-graft.t
> --- a/tests/test-graft.t
> +++ b/tests/test-graft.t
> @@ -343,8 +343,8 @@ Disallow grafting an already grafted cse
>    [255]
>
>    $ hg extdiff --config extensions.extdiff= --patch -r 2 -r 13
> -  --- */hg-5c095ad7e90f.patch	* +0000 (glob)
> -  +++ */hg-7a4785234d87.patch	* +0000 (glob)
> +  --- */hg-5c095ad7e90f.patch	* (glob)
> +  +++ */hg-7a4785234d87.patch	* (glob)
>    @@ -1,18 +1,18 @@
>     # HG changeset patch
>    -# User test
> @@ -374,8 +374,8 @@ Disallow grafting an already grafted cse
>    [1]
>
>    $ hg extdiff --config extensions.extdiff= --patch -r 2 -r 13 -X .
> -  --- */hg-5c095ad7e90f.patch	* +0000 (glob)
> -  +++ */hg-7a4785234d87.patch	* +0000 (glob)
> +  --- */hg-5c095ad7e90f.patch	* (glob)
> +  +++ */hg-7a4785234d87.patch	* (glob)
>    @@ -1,8 +1,8 @@
>     # HG changeset patch
>    -# User test
> diff --git a/tests/test-largefiles-update.t b/tests/test-largefiles-update.t
> --- a/tests/test-largefiles-update.t
> +++ b/tests/test-largefiles-update.t
> @@ -24,13 +24,13 @@ directory (and ".hg/largefiles/dirstate"
>    diff -Npru repo.0d9d9b8dc9a3/.hglf/large1 repo/.hglf/large1
>    --- repo.0d9d9b8dc9a3/.hglf/large1	* (glob)
>    +++ repo/.hglf/large1	* (glob)
> -  @@ -1 +1 @@
> +  @@ -1* +1* @@ (glob)
>    -4669e532d5b2c093a78eca010077e708a071bb64
>    +58e24f733a964da346e2407a2bee99d9001184f5
>    diff -Npru repo.0d9d9b8dc9a3/normal1 repo/normal1
>    --- repo.0d9d9b8dc9a3/normal1	* (glob)
>    +++ repo/normal1	* (glob)
> -  @@ -1 +1 @@
> +  @@ -1* +1* @@ (glob)
>    -normal1
>    +normal1 in #1
>    [1]
> diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t
> --- a/tests/test-subrepo-deep-nested-change.t
> +++ b/tests/test-subrepo-deep-nested-change.t
> @@ -715,15 +715,15 @@ Interaction with extdiff, largefiles and
>
>    $ hg --config extensions.extdiff= extdiff -r '.^' -S
>    diff -Npru cloned.*/.hgsub cloned/.hgsub (glob)
> -  --- cloned.*/.hgsub	* +0000 (glob)
> -  +++ cloned/.hgsub	* +0000 (glob)
> -  @@ -1,2 +1 @@
> +  --- cloned.*/.hgsub	* (glob)
> +  +++ cloned/.hgsub	* (glob)
> +  @@ -1,2 +1* @@ (glob)
>     sub1 = ../sub1
>    -sub3 = sub3
>    diff -Npru cloned.*/.hgsubstate cloned/.hgsubstate (glob)
> -  --- cloned.*/.hgsubstate	* +0000 (glob)
> -  +++ cloned/.hgsubstate	* +0000 (glob)
> -  @@ -1,2 +1 @@
> +  --- cloned.*/.hgsubstate	* (glob)
> +  +++ cloned/.hgsubstate	* (glob)
> +  @@ -1,2 +1* @@ (glob)
>     7a36fa02b66e61f27f3d4a822809f159479b8ab2 sub1
>    -b1a26de6f2a045a9f079323693614ee322f1ff7e sub3
>    [1]
> @@ -732,63 +732,63 @@ Interaction with extdiff, largefiles and
>    diff -Npru cloned.*/.hglf/b.dat cloned.*/.hglf/b.dat (glob)
>    --- cloned.*/.hglf/b.dat	* (glob)
>    +++ cloned.*/.hglf/b.dat	* (glob)
> -  @@ -0,0 +1 @@
> +  @@ -*,0 +1* @@ (glob)
>    +da39a3ee5e6b4b0d3255bfef95601890afd80709
>    diff -Npru cloned.*/.hglf/foo/bar/large.dat cloned.*/.hglf/foo/bar/large.dat (glob)
>    --- cloned.*/.hglf/foo/bar/large.dat	* (glob)
>    +++ cloned.*/.hglf/foo/bar/large.dat	* (glob)
> -  @@ -0,0 +1 @@
> +  @@ -*,0 +1* @@ (glob)
>    +2f6933b5ee0f5fdd823d9717d8729f3c2523811b
>    diff -Npru cloned.*/.hglf/large.bin cloned.*/.hglf/large.bin (glob)
>    --- cloned.*/.hglf/large.bin	* (glob)
>    +++ cloned.*/.hglf/large.bin	* (glob)
> -  @@ -0,0 +1 @@
> +  @@ -*,0 +1* @@ (glob)
>    +7f7097b041ccf68cc5561e9600da4655d21c6d18
>    diff -Npru cloned.*/.hgsub cloned.*/.hgsub (glob)
>    --- cloned.*/.hgsub	* (glob)
>    +++ cloned.*/.hgsub	* (glob)
> -  @@ -1 +1,2 @@
> +  @@ -1* +1,2 @@ (glob)
>     sub1 = ../sub1
>    +sub3 = sub3
>    diff -Npru cloned.*/.hgsubstate cloned.*/.hgsubstate (glob)
>    --- cloned.*/.hgsubstate	* (glob)
>    +++ cloned.*/.hgsubstate	* (glob)
> -  @@ -1 +1,2 @@
> +  @@ -1* +1,2 @@ (glob)
>    -fc3b4ce2696f7741438c79207583768f2ce6b0dd sub1
>    +7a36fa02b66e61f27f3d4a822809f159479b8ab2 sub1
>    +b1a26de6f2a045a9f079323693614ee322f1ff7e sub3
>    diff -Npru cloned.*/foo/bar/def cloned.*/foo/bar/def (glob)
>    --- cloned.*/foo/bar/def	* (glob)
>    +++ cloned.*/foo/bar/def	* (glob)
> -  @@ -0,0 +1 @@
> +  @@ -*,0 +1* @@ (glob)
>    +changed
>    diff -Npru cloned.*/main cloned.*/main (glob)
>    --- cloned.*/main	* (glob)
>    +++ cloned.*/main	* (glob)
> -  @@ -1 +1 @@
> +  @@ -1* +1* @@ (glob)
>    -main
>    +foo
>    diff -Npru cloned.*/sub1/.hgsubstate cloned.*/sub1/.hgsubstate (glob)
>    --- cloned.*/sub1/.hgsubstate	* (glob)
>    +++ cloned.*/sub1/.hgsubstate	* (glob)
> -  @@ -1 +1 @@
> +  @@ -1* +1* @@ (glob)
>    -c57a0840e3badd667ef3c3ef65471609acb2ba3c sub2
>    +c77908c81ccea3794a896c79e98b0e004aee2e9e sub2
>    diff -Npru cloned.*/sub1/sub2/folder/test.txt cloned.*/sub1/sub2/folder/test.txt (glob)
>    --- cloned.*/sub1/sub2/folder/test.txt	* (glob)
>    +++ cloned.*/sub1/sub2/folder/test.txt	* (glob)
> -  @@ -0,0 +1 @@
> +  @@ -*,0 +1* @@ (glob)
>    +subfolder
>    diff -Npru cloned.*/sub1/sub2/sub2 cloned.*/sub1/sub2/sub2 (glob)
>    --- cloned.*/sub1/sub2/sub2	* (glob)
>    +++ cloned.*/sub1/sub2/sub2	* (glob)
> -  @@ -1 +1 @@
> +  @@ -1* +1* @@ (glob)
>    -sub2
>    +modified
>    diff -Npru cloned.*/sub3/a.txt cloned.*/sub3/a.txt (glob)
>    --- cloned.*/sub3/a.txt	* (glob)
>    +++ cloned.*/sub3/a.txt	* (glob)
> -  @@ -0,0 +1 @@
> +  @@ -*,0 +1* @@ (glob)
>    +xyz
>    [1]
>
> @@ -796,7 +796,7 @@ Interaction with extdiff, largefiles and
>    $ hg --config extensions.extdiff= extdiff -S
>    --- */cloned.*/sub1/sub2/sub2	* (glob)
>    +++ */cloned/sub1/sub2/sub2	* (glob)
> -  @@ -1 +1 @@
> +  @@ -1* +1* @@ (glob)
>    -modified
>    +mod
>    [1]
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
Katsunori FUJIWARA - Feb. 6, 2016, 4:13 p.m.
At Fri, 5 Feb 2016 16:35:40 -0500,
Augie Fackler wrote:
> 
> On Fri, Feb 05, 2016 at 10:53:38PM +0900, FUJIWARA Katsunori wrote:
> > # HG changeset patch
> > # User FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
> > # Date 1454679125 -32400
> > #      Fri Feb 05 22:32:05 2016 +0900
> > # Node ID 928c95eab0128dd1475e0dd8ebdb3a820a84a529
> > # Parent  3b10fa10cdd14d4e20a32de71531573be6a5f6fc
> > tests: make external diff command output portable
> 
> Did you look into adding a check-code rule for this? I know we'll fail
> to maintain this discipline fairly quickly if we don't have such a
> check.

I'll send V2 series to revise patch #5 - #7.

> >
> > Before this patch, some tests using external "diff" command via
> > extdiff extension fail on Solaris, because of incompatibility of
> > "diff" command output.
> >
> > For example, system standard "diff" (= /usr/bin/diff) on Solaris
> > differs from GNU diff in points below:
> >
> >   - timezone isn't displayed for timestamp value of each files
> >
> >   - chunk header is always formatted in "@@ -X.x +Y.y @@" style
> >
> >     On Linux, ".x" and/or ".y" are sometimes omitted.
> >
> >   - newly created file causes "@@ -1,0 +1,nnnn @@" chunk header
> >
> >     On Linux, "@@ -0,0 +1,nnnn @@" is used in such case.
> >
> > In fact, even after this patch, tests below aren't yet portable,
> > because of other incompatibility of "diff".
> >
> >   test-subrepo-deep-nested-change.t
> >   test-largefiles-update.t
> >
> > diff --git a/tests/test-graft.t b/tests/test-graft.t
> > --- a/tests/test-graft.t
> > +++ b/tests/test-graft.t
> > @@ -343,8 +343,8 @@ Disallow grafting an already grafted cse
> >    [255]
> >
> >    $ hg extdiff --config extensions.extdiff= --patch -r 2 -r 13
> > -  --- */hg-5c095ad7e90f.patch	* +0000 (glob)
> > -  +++ */hg-7a4785234d87.patch	* +0000 (glob)
> > +  --- */hg-5c095ad7e90f.patch	* (glob)
> > +  +++ */hg-7a4785234d87.patch	* (glob)
> >    @@ -1,18 +1,18 @@
> >     # HG changeset patch
> >    -# User test
> > @@ -374,8 +374,8 @@ Disallow grafting an already grafted cse
> >    [1]
> >
> >    $ hg extdiff --config extensions.extdiff= --patch -r 2 -r 13 -X .
> > -  --- */hg-5c095ad7e90f.patch	* +0000 (glob)
> > -  +++ */hg-7a4785234d87.patch	* +0000 (glob)
> > +  --- */hg-5c095ad7e90f.patch	* (glob)
> > +  +++ */hg-7a4785234d87.patch	* (glob)
> >    @@ -1,8 +1,8 @@
> >     # HG changeset patch
> >    -# User test
> > diff --git a/tests/test-largefiles-update.t b/tests/test-largefiles-update.t
> > --- a/tests/test-largefiles-update.t
> > +++ b/tests/test-largefiles-update.t
> > @@ -24,13 +24,13 @@ directory (and ".hg/largefiles/dirstate"
> >    diff -Npru repo.0d9d9b8dc9a3/.hglf/large1 repo/.hglf/large1
> >    --- repo.0d9d9b8dc9a3/.hglf/large1	* (glob)
> >    +++ repo/.hglf/large1	* (glob)
> > -  @@ -1 +1 @@
> > +  @@ -1* +1* @@ (glob)
> >    -4669e532d5b2c093a78eca010077e708a071bb64
> >    +58e24f733a964da346e2407a2bee99d9001184f5
> >    diff -Npru repo.0d9d9b8dc9a3/normal1 repo/normal1
> >    --- repo.0d9d9b8dc9a3/normal1	* (glob)
> >    +++ repo/normal1	* (glob)
> > -  @@ -1 +1 @@
> > +  @@ -1* +1* @@ (glob)
> >    -normal1
> >    +normal1 in #1
> >    [1]
> > diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t
> > --- a/tests/test-subrepo-deep-nested-change.t
> > +++ b/tests/test-subrepo-deep-nested-change.t
> > @@ -715,15 +715,15 @@ Interaction with extdiff, largefiles and
> >
> >    $ hg --config extensions.extdiff= extdiff -r '.^' -S
> >    diff -Npru cloned.*/.hgsub cloned/.hgsub (glob)
> > -  --- cloned.*/.hgsub	* +0000 (glob)
> > -  +++ cloned/.hgsub	* +0000 (glob)
> > -  @@ -1,2 +1 @@
> > +  --- cloned.*/.hgsub	* (glob)
> > +  +++ cloned/.hgsub	* (glob)
> > +  @@ -1,2 +1* @@ (glob)
> >     sub1 = ../sub1
> >    -sub3 = sub3
> >    diff -Npru cloned.*/.hgsubstate cloned/.hgsubstate (glob)
> > -  --- cloned.*/.hgsubstate	* +0000 (glob)
> > -  +++ cloned/.hgsubstate	* +0000 (glob)
> > -  @@ -1,2 +1 @@
> > +  --- cloned.*/.hgsubstate	* (glob)
> > +  +++ cloned/.hgsubstate	* (glob)
> > +  @@ -1,2 +1* @@ (glob)
> >     7a36fa02b66e61f27f3d4a822809f159479b8ab2 sub1
> >    -b1a26de6f2a045a9f079323693614ee322f1ff7e sub3
> >    [1]
> > @@ -732,63 +732,63 @@ Interaction with extdiff, largefiles and
> >    diff -Npru cloned.*/.hglf/b.dat cloned.*/.hglf/b.dat (glob)
> >    --- cloned.*/.hglf/b.dat	* (glob)
> >    +++ cloned.*/.hglf/b.dat	* (glob)
> > -  @@ -0,0 +1 @@
> > +  @@ -*,0 +1* @@ (glob)
> >    +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >    diff -Npru cloned.*/.hglf/foo/bar/large.dat cloned.*/.hglf/foo/bar/large.dat (glob)
> >    --- cloned.*/.hglf/foo/bar/large.dat	* (glob)
> >    +++ cloned.*/.hglf/foo/bar/large.dat	* (glob)
> > -  @@ -0,0 +1 @@
> > +  @@ -*,0 +1* @@ (glob)
> >    +2f6933b5ee0f5fdd823d9717d8729f3c2523811b
> >    diff -Npru cloned.*/.hglf/large.bin cloned.*/.hglf/large.bin (glob)
> >    --- cloned.*/.hglf/large.bin	* (glob)
> >    +++ cloned.*/.hglf/large.bin	* (glob)
> > -  @@ -0,0 +1 @@
> > +  @@ -*,0 +1* @@ (glob)
> >    +7f7097b041ccf68cc5561e9600da4655d21c6d18
> >    diff -Npru cloned.*/.hgsub cloned.*/.hgsub (glob)
> >    --- cloned.*/.hgsub	* (glob)
> >    +++ cloned.*/.hgsub	* (glob)
> > -  @@ -1 +1,2 @@
> > +  @@ -1* +1,2 @@ (glob)
> >     sub1 = ../sub1
> >    +sub3 = sub3
> >    diff -Npru cloned.*/.hgsubstate cloned.*/.hgsubstate (glob)
> >    --- cloned.*/.hgsubstate	* (glob)
> >    +++ cloned.*/.hgsubstate	* (glob)
> > -  @@ -1 +1,2 @@
> > +  @@ -1* +1,2 @@ (glob)
> >    -fc3b4ce2696f7741438c79207583768f2ce6b0dd sub1
> >    +7a36fa02b66e61f27f3d4a822809f159479b8ab2 sub1
> >    +b1a26de6f2a045a9f079323693614ee322f1ff7e sub3
> >    diff -Npru cloned.*/foo/bar/def cloned.*/foo/bar/def (glob)
> >    --- cloned.*/foo/bar/def	* (glob)
> >    +++ cloned.*/foo/bar/def	* (glob)
> > -  @@ -0,0 +1 @@
> > +  @@ -*,0 +1* @@ (glob)
> >    +changed
> >    diff -Npru cloned.*/main cloned.*/main (glob)
> >    --- cloned.*/main	* (glob)
> >    +++ cloned.*/main	* (glob)
> > -  @@ -1 +1 @@
> > +  @@ -1* +1* @@ (glob)
> >    -main
> >    +foo
> >    diff -Npru cloned.*/sub1/.hgsubstate cloned.*/sub1/.hgsubstate (glob)
> >    --- cloned.*/sub1/.hgsubstate	* (glob)
> >    +++ cloned.*/sub1/.hgsubstate	* (glob)
> > -  @@ -1 +1 @@
> > +  @@ -1* +1* @@ (glob)
> >    -c57a0840e3badd667ef3c3ef65471609acb2ba3c sub2
> >    +c77908c81ccea3794a896c79e98b0e004aee2e9e sub2
> >    diff -Npru cloned.*/sub1/sub2/folder/test.txt cloned.*/sub1/sub2/folder/test.txt (glob)
> >    --- cloned.*/sub1/sub2/folder/test.txt	* (glob)
> >    +++ cloned.*/sub1/sub2/folder/test.txt	* (glob)
> > -  @@ -0,0 +1 @@
> > +  @@ -*,0 +1* @@ (glob)
> >    +subfolder
> >    diff -Npru cloned.*/sub1/sub2/sub2 cloned.*/sub1/sub2/sub2 (glob)
> >    --- cloned.*/sub1/sub2/sub2	* (glob)
> >    +++ cloned.*/sub1/sub2/sub2	* (glob)
> > -  @@ -1 +1 @@
> > +  @@ -1* +1* @@ (glob)
> >    -sub2
> >    +modified
> >    diff -Npru cloned.*/sub3/a.txt cloned.*/sub3/a.txt (glob)
> >    --- cloned.*/sub3/a.txt	* (glob)
> >    +++ cloned.*/sub3/a.txt	* (glob)
> > -  @@ -0,0 +1 @@
> > +  @@ -*,0 +1* @@ (glob)
> >    +xyz
> >    [1]
> >
> > @@ -796,7 +796,7 @@ Interaction with extdiff, largefiles and
> >    $ hg --config extensions.extdiff= extdiff -S
> >    --- */cloned.*/sub1/sub2/sub2	* (glob)
> >    +++ */cloned/sub1/sub2/sub2	* (glob)
> > -  @@ -1 +1 @@
> > +  @@ -1* +1* @@ (glob)
> >    -modified
> >    +mod
> >    [1]
> > _______________________________________________
> > Mercurial-devel mailing list
> > Mercurial-devel@mercurial-scm.org
> > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
> 

----------------------------------------------------------------------
[FUJIWARA Katsunori]                             foozy@lares.dti.ne.jp

Patch

diff --git a/tests/test-graft.t b/tests/test-graft.t
--- a/tests/test-graft.t
+++ b/tests/test-graft.t
@@ -343,8 +343,8 @@  Disallow grafting an already grafted cse
   [255]
 
   $ hg extdiff --config extensions.extdiff= --patch -r 2 -r 13
-  --- */hg-5c095ad7e90f.patch	* +0000 (glob)
-  +++ */hg-7a4785234d87.patch	* +0000 (glob)
+  --- */hg-5c095ad7e90f.patch	* (glob)
+  +++ */hg-7a4785234d87.patch	* (glob)
   @@ -1,18 +1,18 @@
    # HG changeset patch
   -# User test
@@ -374,8 +374,8 @@  Disallow grafting an already grafted cse
   [1]
 
   $ hg extdiff --config extensions.extdiff= --patch -r 2 -r 13 -X .
-  --- */hg-5c095ad7e90f.patch	* +0000 (glob)
-  +++ */hg-7a4785234d87.patch	* +0000 (glob)
+  --- */hg-5c095ad7e90f.patch	* (glob)
+  +++ */hg-7a4785234d87.patch	* (glob)
   @@ -1,8 +1,8 @@
    # HG changeset patch
   -# User test
diff --git a/tests/test-largefiles-update.t b/tests/test-largefiles-update.t
--- a/tests/test-largefiles-update.t
+++ b/tests/test-largefiles-update.t
@@ -24,13 +24,13 @@  directory (and ".hg/largefiles/dirstate"
   diff -Npru repo.0d9d9b8dc9a3/.hglf/large1 repo/.hglf/large1
   --- repo.0d9d9b8dc9a3/.hglf/large1	* (glob)
   +++ repo/.hglf/large1	* (glob)
-  @@ -1 +1 @@
+  @@ -1* +1* @@ (glob)
   -4669e532d5b2c093a78eca010077e708a071bb64
   +58e24f733a964da346e2407a2bee99d9001184f5
   diff -Npru repo.0d9d9b8dc9a3/normal1 repo/normal1
   --- repo.0d9d9b8dc9a3/normal1	* (glob)
   +++ repo/normal1	* (glob)
-  @@ -1 +1 @@
+  @@ -1* +1* @@ (glob)
   -normal1
   +normal1 in #1
   [1]
diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t
--- a/tests/test-subrepo-deep-nested-change.t
+++ b/tests/test-subrepo-deep-nested-change.t
@@ -715,15 +715,15 @@  Interaction with extdiff, largefiles and
 
   $ hg --config extensions.extdiff= extdiff -r '.^' -S
   diff -Npru cloned.*/.hgsub cloned/.hgsub (glob)
-  --- cloned.*/.hgsub	* +0000 (glob)
-  +++ cloned/.hgsub	* +0000 (glob)
-  @@ -1,2 +1 @@
+  --- cloned.*/.hgsub	* (glob)
+  +++ cloned/.hgsub	* (glob)
+  @@ -1,2 +1* @@ (glob)
    sub1 = ../sub1
   -sub3 = sub3
   diff -Npru cloned.*/.hgsubstate cloned/.hgsubstate (glob)
-  --- cloned.*/.hgsubstate	* +0000 (glob)
-  +++ cloned/.hgsubstate	* +0000 (glob)
-  @@ -1,2 +1 @@
+  --- cloned.*/.hgsubstate	* (glob)
+  +++ cloned/.hgsubstate	* (glob)
+  @@ -1,2 +1* @@ (glob)
    7a36fa02b66e61f27f3d4a822809f159479b8ab2 sub1
   -b1a26de6f2a045a9f079323693614ee322f1ff7e sub3
   [1]
@@ -732,63 +732,63 @@  Interaction with extdiff, largefiles and
   diff -Npru cloned.*/.hglf/b.dat cloned.*/.hglf/b.dat (glob)
   --- cloned.*/.hglf/b.dat	* (glob)
   +++ cloned.*/.hglf/b.dat	* (glob)
-  @@ -0,0 +1 @@
+  @@ -*,0 +1* @@ (glob)
   +da39a3ee5e6b4b0d3255bfef95601890afd80709
   diff -Npru cloned.*/.hglf/foo/bar/large.dat cloned.*/.hglf/foo/bar/large.dat (glob)
   --- cloned.*/.hglf/foo/bar/large.dat	* (glob)
   +++ cloned.*/.hglf/foo/bar/large.dat	* (glob)
-  @@ -0,0 +1 @@
+  @@ -*,0 +1* @@ (glob)
   +2f6933b5ee0f5fdd823d9717d8729f3c2523811b
   diff -Npru cloned.*/.hglf/large.bin cloned.*/.hglf/large.bin (glob)
   --- cloned.*/.hglf/large.bin	* (glob)
   +++ cloned.*/.hglf/large.bin	* (glob)
-  @@ -0,0 +1 @@
+  @@ -*,0 +1* @@ (glob)
   +7f7097b041ccf68cc5561e9600da4655d21c6d18
   diff -Npru cloned.*/.hgsub cloned.*/.hgsub (glob)
   --- cloned.*/.hgsub	* (glob)
   +++ cloned.*/.hgsub	* (glob)
-  @@ -1 +1,2 @@
+  @@ -1* +1,2 @@ (glob)
    sub1 = ../sub1
   +sub3 = sub3
   diff -Npru cloned.*/.hgsubstate cloned.*/.hgsubstate (glob)
   --- cloned.*/.hgsubstate	* (glob)
   +++ cloned.*/.hgsubstate	* (glob)
-  @@ -1 +1,2 @@
+  @@ -1* +1,2 @@ (glob)
   -fc3b4ce2696f7741438c79207583768f2ce6b0dd sub1
   +7a36fa02b66e61f27f3d4a822809f159479b8ab2 sub1
   +b1a26de6f2a045a9f079323693614ee322f1ff7e sub3
   diff -Npru cloned.*/foo/bar/def cloned.*/foo/bar/def (glob)
   --- cloned.*/foo/bar/def	* (glob)
   +++ cloned.*/foo/bar/def	* (glob)
-  @@ -0,0 +1 @@
+  @@ -*,0 +1* @@ (glob)
   +changed
   diff -Npru cloned.*/main cloned.*/main (glob)
   --- cloned.*/main	* (glob)
   +++ cloned.*/main	* (glob)
-  @@ -1 +1 @@
+  @@ -1* +1* @@ (glob)
   -main
   +foo
   diff -Npru cloned.*/sub1/.hgsubstate cloned.*/sub1/.hgsubstate (glob)
   --- cloned.*/sub1/.hgsubstate	* (glob)
   +++ cloned.*/sub1/.hgsubstate	* (glob)
-  @@ -1 +1 @@
+  @@ -1* +1* @@ (glob)
   -c57a0840e3badd667ef3c3ef65471609acb2ba3c sub2
   +c77908c81ccea3794a896c79e98b0e004aee2e9e sub2
   diff -Npru cloned.*/sub1/sub2/folder/test.txt cloned.*/sub1/sub2/folder/test.txt (glob)
   --- cloned.*/sub1/sub2/folder/test.txt	* (glob)
   +++ cloned.*/sub1/sub2/folder/test.txt	* (glob)
-  @@ -0,0 +1 @@
+  @@ -*,0 +1* @@ (glob)
   +subfolder
   diff -Npru cloned.*/sub1/sub2/sub2 cloned.*/sub1/sub2/sub2 (glob)
   --- cloned.*/sub1/sub2/sub2	* (glob)
   +++ cloned.*/sub1/sub2/sub2	* (glob)
-  @@ -1 +1 @@
+  @@ -1* +1* @@ (glob)
   -sub2
   +modified
   diff -Npru cloned.*/sub3/a.txt cloned.*/sub3/a.txt (glob)
   --- cloned.*/sub3/a.txt	* (glob)
   +++ cloned.*/sub3/a.txt	* (glob)
-  @@ -0,0 +1 @@
+  @@ -*,0 +1* @@ (glob)
   +xyz
   [1]
 
@@ -796,7 +796,7 @@  Interaction with extdiff, largefiles and
   $ hg --config extensions.extdiff= extdiff -S
   --- */cloned.*/sub1/sub2/sub2	* (glob)
   +++ */cloned/sub1/sub2/sub2	* (glob)
-  @@ -1 +1 @@
+  @@ -1* +1* @@ (glob)
   -modified
   +mod
   [1]