diff tests/test-subrepo-recursion.t @ 12167:d2c5b0927c28

diff: recurse into subrepositories with --subrepos/-S flag
author Martin Geisler <mg@lazybytes.net>
date Fri, 03 Sep 2010 12:58:51 +0200
parents 441a74b8def1
children c0a8f9dea0f6
line wrap: on
line diff
--- a/tests/test-subrepo-recursion.t	Fri Sep 03 12:58:51 2010 +0200
+++ b/tests/test-subrepo-recursion.t	Fri Sep 03 12:58:51 2010 +0200
@@ -2,6 +2,7 @@
 
   $ echo '[defaults]' >> $HGRCPATH
   $ echo 'status = -S' >> $HGRCPATH
+  $ echo 'diff = --nodates -S' >> $HGRCPATH
 
 Create test repository:
 
@@ -54,6 +55,21 @@
   $ hg status
   M foo/bar/z.txt
   M foo/y.txt
+  $ hg diff
+  diff -r d254738c5f5e foo/y.txt
+  --- a/foo/y.txt
+  +++ b/foo/y.txt
+  @@ -1,2 +1,3 @@
+   y1
+   y2
+  +y3
+  diff -r 9647f22de499 foo/bar/z.txt
+  --- a/foo/bar/z.txt
+  +++ b/foo/bar/z.txt
+  @@ -1,2 +1,3 @@
+   z1
+   z2
+  +z3
 
 Status call crossing repository boundaries:
 
@@ -64,6 +80,21 @@
   $ hg status -I '**/?.txt'
   M foo/bar/z.txt
   M foo/y.txt
+  $ hg diff -I '**/?.txt'
+  diff -r d254738c5f5e foo/y.txt
+  --- a/foo/y.txt
+  +++ b/foo/y.txt
+  @@ -1,2 +1,3 @@
+   y1
+   y2
+  +y3
+  diff -r 9647f22de499 foo/bar/z.txt
+  --- a/foo/bar/z.txt
+  +++ b/foo/bar/z.txt
+  @@ -1,2 +1,3 @@
+   z1
+   z2
+  +z3
 
 Status from within a subdirectory:
 
@@ -74,6 +105,21 @@
   M foo/bar/z.txt
   M foo/y.txt
   ? dir/a.txt
+  $ hg diff
+  diff -r d254738c5f5e foo/y.txt
+  --- a/foo/y.txt
+  +++ b/foo/y.txt
+  @@ -1,2 +1,3 @@
+   y1
+   y2
+  +y3
+  diff -r 9647f22de499 foo/bar/z.txt
+  --- a/foo/bar/z.txt
+  +++ b/foo/bar/z.txt
+  @@ -1,2 +1,3 @@
+   z1
+   z2
+  +z3
 
 Status with relative path:
 
@@ -81,17 +127,66 @@
   M ../foo/bar/z.txt
   M ../foo/y.txt
   ? a.txt
+  $ hg diff ..
+  diff -r d254738c5f5e foo/y.txt
+  --- a/foo/y.txt
+  +++ b/foo/y.txt
+  @@ -1,2 +1,3 @@
+   y1
+   y2
+  +y3
+  diff -r 9647f22de499 foo/bar/z.txt
+  --- a/foo/bar/z.txt
+  +++ b/foo/bar/z.txt
+  @@ -1,2 +1,3 @@
+   z1
+   z2
+  +z3
   $ cd ..
 
+Cleanup and final commit:
+
+  $ rm -r dir
+  $ hg commit -m 2-3-2
+  committing subrepository foo
+  committing subrepository foo/bar
+
+Log with the relationships between repo and its subrepo:
+
+  $ hg log --template '{rev}:{node|short} {desc}\n'
+  2:1326fa26d0c0 2-3-2
+  1:4b3c9ff4f66b 1-2-1
+  0:23376cbba0d8 0-0-0
+
+  $ hg -R foo log --template '{rev}:{node|short} {desc}\n'
+  3:65903cebad86 2-3-2
+  2:d254738c5f5e 0-2-1
+  1:8629ce7dcc39 0-1-0
+  0:af048e97ade2 0-0-0
+
+  $ hg -R foo/bar log --template '{rev}:{node|short} {desc}\n'
+  2:31ecbdafd357 2-3-2
+  1:9647f22de499 0-1-1
+  0:4904098473f9 0-0-0
+
 Status between revisions:
 
-  $ rm -r dir
-  $ hg commit -m 2-2-1
-  committing subrepository foo
-  committing subrepository foo/bar
   $ hg status
   $ hg status --rev 0:1
   M .hgsubstate
   M foo/.hgsubstate
   M foo/bar/z.txt
   M foo/y.txt
+  $ hg diff -I '**/?.txt' --rev 0:1
+  diff -r af048e97ade2 -r d254738c5f5e foo/y.txt
+  --- a/foo/y.txt
+  +++ b/foo/y.txt
+  @@ -1,1 +1,2 @@
+   y1
+  +y2
+  diff -r 4904098473f9 -r 9647f22de499 foo/bar/z.txt
+  --- a/foo/bar/z.txt
+  +++ b/foo/bar/z.txt
+  @@ -1,1 +1,2 @@
+   z1
+  +z2