diff options
Diffstat (limited to 't')
-rw-r--r-- | t/README | 1 | ||||
-rwxr-xr-x | t/t4013-diff-various.sh | 18 | ||||
-rw-r--r-- | t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_master | 1 | ||||
-rw-r--r-- | t/t4013/diff.diff-tree_--cc_--patch-with-stat_master | 34 | ||||
-rw-r--r-- | t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial | 1 | ||||
-rw-r--r-- | t/t4013/diff.diff-tree_--pretty_--root_--summary_-r_initial | 11 | ||||
-rw-r--r-- | t/t4013/diff.diff-tree_--pretty_--root_--summary_initial | 11 | ||||
-rw-r--r-- | t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master | 3 | ||||
-rw-r--r-- | t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master | 3 | ||||
-rw-r--r-- | t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master | 3 | ||||
-rw-r--r-- | t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master | 3 | ||||
-rwxr-xr-x | t/t4014-format-patch.sh | 69 | ||||
-rwxr-xr-x | t/t7201-co.sh | 72 | ||||
-rwxr-xr-x | t/t8001-annotate.sh | 6 | ||||
-rwxr-xr-x | t/t9001-send-email.sh | 11 |
15 files changed, 227 insertions, 20 deletions
@@ -73,6 +73,7 @@ First digit tells the family: 4 - the diff commands 5 - the pull and exporting commands 6 - the revision tree commands (even e.g. merge-base) + 7 - the porcelainish commands concerning the working tree Second digit tells the particular command we are testing. diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh index 1d2f7f9f7d..06837d1c7c 100755 --- a/t/t4013-diff-various.sh +++ b/t/t4013-diff-various.sh @@ -138,7 +138,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 @@ -150,6 +153,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 @@ -172,11 +176,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 @@ -188,7 +190,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 @@ -200,7 +204,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 diff --git a/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_master b/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_master index e6d0c80567..0ac9800913 100644 --- a/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_master +++ b/t/t4013/diff.diff-tree_--cc_--patch-with-stat_--summary_master @@ -4,7 +4,6 @@ $ git diff-tree --cc --patch-with-stat --summary master file0 | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) - diff --cc dir/sub index cead32e,7289e35..992913c --- a/dir/sub diff --git a/t/t4013/diff.diff-tree_--cc_--patch-with-stat_master b/t/t4013/diff.diff-tree_--cc_--patch-with-stat_master new file mode 100644 index 0000000000..f6ecf76366 --- /dev/null +++ b/t/t4013/diff.diff-tree_--cc_--patch-with-stat_master @@ -0,0 +1,34 @@ +$ git diff-tree --cc --patch-with-stat master +176b998f5d647cbd77a9d8acf4531e930754d16d + dir/sub | 2 ++ + file0 | 3 +++ + 2 files changed, 5 insertions(+), 0 deletions(-) + +diff --cc dir/sub +index cead32e,7289e35..992913c +--- a/dir/sub ++++ b/dir/sub +@@@ -1,6 -1,4 +1,8 @@@ + A + B + +C + +D + +E + +F ++ 1 ++ 2 +diff --cc file0 +index b414108,f4615da..10a8a9f +--- a/file0 ++++ b/file0 +@@@ -1,6 -1,6 +1,9 @@@ + 1 + 2 + 3 + +4 + +5 + +6 ++ A ++ B ++ C +$ diff --git a/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial b/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial index 49e26fb99a..d5c333a378 100644 --- a/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial +++ b/t/t4013/diff.diff-tree_--pretty=oneline_--root_--patch-with-stat_initial @@ -1,6 +1,5 @@ $ git diff-tree --pretty=oneline --root --patch-with-stat initial 444ac553ac7612cc88969031b02b3767fb8a353a Initial ---- dir/sub | 2 ++ file0 | 3 +++ file2 | 3 +++ diff --git a/t/t4013/diff.diff-tree_--pretty_--root_--summary_-r_initial b/t/t4013/diff.diff-tree_--pretty_--root_--summary_-r_initial new file mode 100644 index 0000000000..ccdaafb377 --- /dev/null +++ b/t/t4013/diff.diff-tree_--pretty_--root_--summary_-r_initial @@ -0,0 +1,11 @@ +$ git diff-tree --pretty --root --summary -r initial +commit 444ac553ac7612cc88969031b02b3767fb8a353a +Author: A U Thor <author@example.com> +Date: Mon Jun 26 00:00:00 2006 +0000 + + Initial + + create mode 100644 dir/sub + create mode 100644 file0 + create mode 100644 file2 +$ diff --git a/t/t4013/diff.diff-tree_--pretty_--root_--summary_initial b/t/t4013/diff.diff-tree_--pretty_--root_--summary_initial new file mode 100644 index 0000000000..ea48205537 --- /dev/null +++ b/t/t4013/diff.diff-tree_--pretty_--root_--summary_initial @@ -0,0 +1,11 @@ +$ git diff-tree --pretty --root --summary initial +commit 444ac553ac7612cc88969031b02b3767fb8a353a +Author: A U Thor <author@example.com> +Date: Mon Jun 26 00:00:00 2006 +0000 + + Initial + + create mode 040000 dir + create mode 100644 file0 + create mode 100644 file2 +$ diff --git a/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master b/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master index fafd9ee59e..b652c6a823 100644 --- a/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master +++ b/t/t4013/diff.log_--root_--cc_--patch-with-stat_--summary_master @@ -5,12 +5,11 @@ Author: A U Thor <author@example.com> Date: Mon Jun 26 00:04:00 2006 +0000 Merge branch 'side' ---- + dir/sub | 2 ++ file0 | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) - diff --cc dir/sub index cead32e,7289e35..992913c --- a/dir/sub diff --git a/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master b/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master index 51e39cda00..3a155d288c 100644 --- a/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master +++ b/t/t4013/diff.log_--root_-c_--patch-with-stat_--summary_master @@ -5,12 +5,11 @@ Author: A U Thor <author@example.com> Date: Mon Jun 26 00:04:00 2006 +0000 Merge branch 'side' ---- + dir/sub | 2 ++ file0 | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) - diff --combined dir/sub index cead32e,7289e35..992913c --- a/dir/sub diff --git a/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master b/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master index 370b5810ee..e9e17cdafb 100644 --- a/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master +++ b/t/t4013/diff.whatchanged_--root_--cc_--patch-with-stat_--summary_master @@ -5,12 +5,11 @@ Author: A U Thor <author@example.com> Date: Mon Jun 26 00:04:00 2006 +0000 Merge branch 'side' ---- + dir/sub | 2 ++ file0 | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) - diff --cc dir/sub index cead32e,7289e35..992913c --- a/dir/sub diff --git a/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master b/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master index d6404b11be..596765e804 100644 --- a/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master +++ b/t/t4013/diff.whatchanged_--root_-c_--patch-with-stat_--summary_master @@ -5,12 +5,11 @@ Author: A U Thor <author@example.com> Date: Mon Jun 26 00:04:00 2006 +0000 Merge branch 'side' ---- + dir/sub | 2 ++ file0 | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) - diff --combined dir/sub index cead32e,7289e35..992913c --- a/dir/sub diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh new file mode 100755 index 0000000000..4795872a77 --- /dev/null +++ b/t/t4014-format-patch.sh @@ -0,0 +1,69 @@ +#!/bin/sh +# +# Copyright (c) 2006 Junio C Hamano +# + +test_description='Format-patch skipping already incorporated patches' + +. ./test-lib.sh + +test_expect_success setup ' + + for i in 1 2 3 4 5 6 7 8 9 10; do echo "$i"; done >file && + git add file && + git commit -m Initial && + git checkout -b side && + + for i in 1 2 5 6 A B C 7 8 9 10; do echo "$i"; done >file && + git update-index file && + git commit -m "Side change #1" && + + for i in D E F; do echo "$i"; done >>file && + git update-index file && + git commit -m "Side change #2" && + git tag C2 && + + for i in 5 6 1 2 3 A 4 B C 7 8 9 10 D E F; do echo "$i"; done >file && + git update-index file && + git commit -m "Side change #3" && + + git checkout master && + git diff-tree -p C2 | git apply --index && + git commit -m "Master accepts moral equivalent of #2" + +' + +test_expect_success "format-patch --ignore-if-in-upstream" ' + + git format-patch --stdout master..side >patch0 && + cnt=`grep "^From " patch0 | wc -l` && + test $cnt = 3 + +' + +test_expect_success "format-patch --ignore-if-in-upstream" ' + + git format-patch --stdout \ + --ignore-if-in-upstream master..side >patch1 && + cnt=`grep "^From " patch1 | wc -l` && + test $cnt = 2 + +' + +test_expect_success "format-patch result applies" ' + + git checkout -b rebuild-0 master && + git am -3 patch0 && + cnt=`git rev-list master.. | wc -l` && + test $cnt = 2 +' + +test_expect_success "format-patch --ignore-if-in-upstream result applies" ' + + git checkout -b rebuild-1 master && + git am -3 patch1 && + cnt=`git rev-list master.. | wc -l` && + test $cnt = 2 +' + +test_done diff --git a/t/t7201-co.sh b/t/t7201-co.sh new file mode 100755 index 0000000000..b64e8b7d77 --- /dev/null +++ b/t/t7201-co.sh @@ -0,0 +1,72 @@ +#!/bin/sh +# +# Copyright (c) 2006 Junio C Hamano +# + +test_description='git-checkout tests.' + +. ./test-lib.sh + +fill () { + for i + do + echo "$i" + done +} + +test_expect_success setup ' + + fill 1 2 3 4 5 >one && + fill a b c d e >two && + git add one two && + git commit -m "Initial A one, A two" && + + git checkout -b side && + fill 1 2 3 >one && + fill A B C D E >three && + rm -f two && + git update-index --add --remove one two three && + git commit -m "Side M one, D two, A three" && + + git checkout master +' + +test_expect_success "checkout with dirty tree without -m" ' + + fill 0 1 2 3 4 5 >one && + if git checkout side + then + echo Not happy + false + else + echo "happy - failed correctly" + fi + +' + +test_expect_success "checkout -m with dirty tree" ' + + git checkout -f master && + git clean && + + fill 0 1 2 3 4 5 >one && + git checkout -m side && + + fill " master" "* side" >expect.branch && + git branch >current.branch && + diff expect.branch current.branch && + + fill "M one" "A three" "D two" >expect.master && + git diff --name-status master >current.master && + diff expect.master current.master && + + fill "M one" >expect.side && + git diff --name-status side >current.side && + diff expect.side current.side && + + : >expect.index && + git diff --cached >current.index && + diff expect.index current.index +' + +test_done diff --git a/t/t8001-annotate.sh b/t/t8001-annotate.sh index 2496397da3..3a6490e8f8 100755 --- a/t/t8001-annotate.sh +++ b/t/t8001-annotate.sh @@ -6,4 +6,10 @@ test_description='git-annotate' PROG='git annotate' . ../annotate-tests.sh +test_expect_success \ + 'Annotating an old revision works' \ + '[ $(git annotate file master | awk "{print \$3}" | grep -c "^A$") -eq 2 ] && \ + [ $(git annotate file master | awk "{print \$3}" | grep -c "^B$") -eq 2 ]' + + test_done diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index a61da1efbd..e9ea33c18d 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -25,10 +25,13 @@ test_expect_success \ git add fake.sendmail GIT_AUTHOR_NAME="A" git commit -a -m "Second."' -test_expect_success \ - 'Extract patches and send' \ - 'git format-patch -n HEAD^1 - git send-email -from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" ./0001*txt' +test_expect_success 'Extract patches' ' + patches=`git format-patch -n HEAD^1` +' + +test_expect_success 'Send patches' ' + git send-email -from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" $patches 2>errors +' cat >expected <<\EOF !nobody@example.com! |