cvsserver: Add some useful commandline options
[gitweb.git] / t / t4013-diff-various.sh
index 22984e3db742365117e19040d88a6c79daf284cb..8f4c29a6b5a263d6f18d95757b76ac55e9443068 100755 (executable)
@@ -7,6 +7,9 @@ test_description='Various diff formatting options'
 
 . ./test-lib.sh
 
+LF='
+'
+
 test_expect_success setup '
 
        GIT_AUTHOR_DATE="2006-06-26 00:00:00 +0000" &&
@@ -31,7 +34,7 @@ test_expect_success setup '
        for i in C D; do echo $i; done >>dir/sub &&
        rm -f file2 &&
        git update-index --remove file0 file2 dir/sub &&
-       git commit -m Second &&
+       git commit -m "Second${LF}${LF}This is the second commit." &&
 
        GIT_AUTHOR_DATE="2006-06-26 00:02:00 +0000" &&
        GIT_COMMITTER_DATE="2006-06-26 00:02:00 +0000" &&
@@ -70,7 +73,8 @@ test_expect_success setup '
        for i in 1 2; do echo $i; done >>dir/sub &&
        git update-index file0 dir/sub &&
 
-       EDITOR=: VISUAL=: git commit --amend &&
+       git config log.showroot false &&
+       git commit --amend &&
        git show-branch
 '
 
@@ -85,6 +89,7 @@ test_expect_success setup '
 +*+ [initial] Initial
 EOF
 
+V=`git version | sed -e 's/^git version //' -e 's/\./\\./g'`
 while read cmd
 do
        case "$cmd" in
@@ -99,12 +104,14 @@ do
        test_expect_success "git $cmd" '
                {
                        echo "\$ git $cmd"
-                       git $cmd
+                       git $cmd |
+                       sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \
+                           -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/"
                        echo "\$"
                } >"$actual" &&
                if test -f "$expect"
                then
-                       diff -u "$expect" "$actual" &&
+                       git diff "$expect" "$actual" &&
                        rm -f "$actual"
                else
                        # this is to help developing new tests.
@@ -137,7 +144,10 @@ diff-tree --pretty --summary initial
 diff-tree --pretty --stat --summary initial
 diff-tree --pretty --root -p initial
 diff-tree --pretty --root --stat initial
-#diff-tree --pretty --root --summary initial
+# improved by Timo's patch
+diff-tree --pretty --root --summary initial
+# improved by Timo's patch
+diff-tree --pretty --root --summary -r initial
 diff-tree --pretty --root --stat --summary initial
 diff-tree --pretty --patch-with-stat initial
 diff-tree --pretty --root --patch-with-stat initial
@@ -149,6 +159,7 @@ diff-tree --pretty=oneline --root initial
 diff-tree --pretty=oneline -p initial
 diff-tree --pretty=oneline --root -p initial
 diff-tree --pretty=oneline --patch-with-stat initial
+# improved by Timo's patch
 diff-tree --pretty=oneline --root --patch-with-stat initial
 diff-tree --pretty=oneline --patch-with-raw initial
 diff-tree --pretty=oneline --root --patch-with-raw initial
@@ -171,11 +182,9 @@ diff-tree --cc --stat --summary master
 # stat summary should show the diffstat and summary with the first parent
 diff-tree -c --stat --summary side
 diff-tree --cc --stat --summary side
-# this one gives an extra newline after stat, which should be removed
-# diff-tree --cc --patch-with-stat master
-# this one gives an extra newline after stat, which should be removed
-# other than that it shows the correct example -- stat and summary are
-# against the first parent, and patch-looking combined diff follows.
+# improved by Timo's patch
+diff-tree --cc --patch-with-stat master
+# improved by Timo's patch
 diff-tree --cc --patch-with-stat --summary master
 # this is correct
 diff-tree --cc --patch-with-stat --summary side
@@ -187,7 +196,9 @@ log --root -p master
 log --patch-with-stat master
 log --root --patch-with-stat master
 log --root --patch-with-stat --summary master
+# improved by Timo's patch
 log --root -c --patch-with-stat --summary master
+# improved by Timo's patch
 log --root --cc --patch-with-stat --summary master
 log -SF master
 log -SF -p master
@@ -199,7 +210,9 @@ whatchanged --root -p master
 whatchanged --patch-with-stat master
 whatchanged --root --patch-with-stat master
 whatchanged --root --patch-with-stat --summary master
+# improved by Timo's patch
 whatchanged --root -c --patch-with-stat --summary master
+# improved by Timo's patch
 whatchanged --root --cc --patch-with-stat --summary master
 whatchanged -SF master
 whatchanged -SF -p master
@@ -219,6 +232,26 @@ show --patch-with-stat side
 show --patch-with-raw side
 show --patch-with-stat --summary side
 
+format-patch --stdout initial..side
+format-patch --stdout initial..master^
+format-patch --stdout initial..master
+format-patch --attach --stdout initial..side
+format-patch --attach --stdout initial..master^
+format-patch --attach --stdout initial..master
+format-patch --inline --stdout initial..side
+format-patch --inline --stdout initial..master^
+format-patch --inline --stdout initial..master
+format-patch --inline --stdout --subject-prefix=TESTCASE initial..master
+
+diff --abbrev initial..side
+diff -r initial..side
+diff --stat initial..side
+diff -r --stat initial..side
+diff initial..side
+diff --patch-with-stat initial..side
+diff --patch-with-raw initial..side
+diff --patch-with-stat -r initial..side
+diff --patch-with-raw -r initial..side
 EOF
 
 test_done