Mercurial > public > mercurial-scm > hg-stable
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