diff -r 49a58b33d1ce -r 01a8dfc79cdc tests/test-subrepo-git.t --- a/tests/test-subrepo-git.t Wed Dec 10 08:41:21 2014 +0100 +++ b/tests/test-subrepo-git.t Wed Dec 10 10:32:51 2014 +0100 @@ -103,6 +103,15 @@ $ echo ggg >> s/g $ hg status --subrepos M s/g + $ hg diff --subrepos + diff --git a/s/g b/s/g + index 089258f..85341ee 100644 + --- a/s/g + +++ b/s/g + @@ -1,2 +1,3 @@ + g + gg + +ggg (no-eol) $ hg commit --subrepos -m ggg committing subrepository s $ hg debugsub @@ -664,4 +673,112 @@ checking out detached HEAD in subrepo s check out a git branch if you intend to make changes +check differences made by most recent change + $ cd s + $ cat > foobar << EOF + > woopwoop + > + > foo + > bar + > EOF + $ git add foobar $ cd .. + + $ hg diff --subrepos + diff --git a/s/foobar b/s/foobar + new file mode 100644 + index 0000000..8a5a5e2 + --- /dev/null + +++ b/s/foobar + @@ -0,0 +1,4 @@ + +woopwoop + + + +foo + +bar (no-eol) + + $ hg commit --subrepos -m "Added foobar" + committing subrepository s + created new head + + $ hg diff -c . --subrepos --nodates + diff -r af6d2edbb0d3 -r 255ee8cf690e .hgsubstate + --- a/.hgsubstate + +++ b/.hgsubstate + @@ -1,1 +1,1 @@ + -32a343883b74769118bb1d3b4b1fbf9156f4dddc s + +fd4dbf828a5b2fcd36b2bcf21ea773820970d129 s + diff --git a/s/foobar b/s/foobar + new file mode 100644 + index 0000000..8a5a5e2 + --- /dev/null + +++ b/s/foobar + @@ -0,0 +1,4 @@ + +woopwoop + + + +foo + +bar (no-eol) + +check output when only diffing the subrepository + $ hg diff -c . --subrepos s + diff --git a/s/foobar b/s/foobar + new file mode 100644 + index 0000000..8a5a5e2 + --- /dev/null + +++ b/s/foobar + @@ -0,0 +1,4 @@ + +woopwoop + + + +foo + +bar (no-eol) + +check output when diffing something else + $ hg diff -c . --subrepos .hgsubstate --nodates + diff -r af6d2edbb0d3 -r 255ee8cf690e .hgsubstate + --- a/.hgsubstate + +++ b/.hgsubstate + @@ -1,1 +1,1 @@ + -32a343883b74769118bb1d3b4b1fbf9156f4dddc s + +fd4dbf828a5b2fcd36b2bcf21ea773820970d129 s + +add new changes, including whitespace + $ cd s + $ cat > foobar << EOF + > woop woop + > + > foo + > bar + > EOF + $ echo foo > barfoo + $ git add barfoo + $ cd .. + + $ hg diff --subrepos --ignore-all-space + diff --git a/s/barfoo b/s/barfoo + new file mode 100644 + index 0000000..257cc56 + --- /dev/null + +++ b/s/barfoo + @@ -0,0 +1 @@ + +foo (no-eol) + $ hg diff --subrepos s/foobar + diff --git a/s/foobar b/s/foobar + index 8a5a5e2..bd5812a 100644 + --- a/s/foobar + +++ b/s/foobar + @@ -1,4 +1,4 @@ + -woopwoop + +woop woop + + foo + bar (no-eol) + + $ hg diff --subrepos --stat + barfoo | 1 + + foobar | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) (no-eol) + +ensure adding include/exclude ignores the subrepo + $ hg diff --subrepos -I s/foobar + $ hg diff --subrepos -X s/foobar + + $ cd ..