diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-07-13 15:14:59 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-07-13 15:14:59 -0700 |
commit | 69b060c84e25c2cb90b16bd0ba602bc14102e1ae (patch) | |
tree | b865f4f5d9f3e42ddd3c0a49228c2f57b326b4ec /t | |
parent | a9a3e82e6d0018ff42ec11fd9560c1ff47add824 (diff) | |
parent | ac083c47ea226b470afab39d975e718a475a3c78 (diff) | |
download | git-69b060c84e25c2cb90b16bd0ba602bc14102e1ae.tar.gz |
Merge branch 'tr/add-i-e'
* tr/add-i-e:
git-add--interactive: manual hunk editing mode
git-add--interactive: remove hunk coalescing
git-add--interactive: replace hunk recounting with apply --recount
Diffstat (limited to 't')
-rwxr-xr-x | t/t3701-add-interactive.sh | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh index fae64eae9f..e95663d8e6 100755 --- a/t/t3701-add-interactive.sh +++ b/t/t3701-add-interactive.sh @@ -66,6 +66,73 @@ test_expect_success 'revert works (commit)' ' grep "unchanged *+3/-0 file" output ' +cat >expected <<EOF +EOF +cat >fake_editor.sh <<EOF +EOF +chmod a+x fake_editor.sh +test_set_editor "$(pwd)/fake_editor.sh" +test_expect_success 'dummy edit works' ' + (echo e; echo a) | git add -p && + git diff > diff && + test_cmp expected diff +' + +cat >patch <<EOF +@@ -1,1 +1,4 @@ + this ++patch +-doesn't + apply +EOF +echo "#!$SHELL_PATH" >fake_editor.sh +cat >>fake_editor.sh <<\EOF +mv -f "$1" oldpatch && +mv -f patch "$1" +EOF +chmod a+x fake_editor.sh +test_set_editor "$(pwd)/fake_editor.sh" +test_expect_success 'bad edit rejected' ' + git reset && + (echo e; echo n; echo d) | git add -p >output && + grep "hunk does not apply" output +' + +cat >patch <<EOF +this patch +is garbage +EOF +test_expect_success 'garbage edit rejected' ' + git reset && + (echo e; echo n; echo d) | git add -p >output && + grep "hunk does not apply" output +' + +cat >patch <<EOF +@@ -1,0 +1,0 @@ + baseline ++content ++newcontent ++lines +EOF +cat >expected <<EOF +diff --git a/file b/file +index b5dd6c9..f910ae9 100644 +--- a/file ++++ b/file +@@ -1,4 +1,4 @@ + baseline + content +-newcontent ++more + lines +EOF +test_expect_success 'real edit works' ' + (echo e; echo n; echo d) | git add -p && + git diff >output && + test_cmp expected output +' + if test "$(git config --bool core.filemode)" = false then say 'skipping filemode tests (filesystem does not properly support modes)' |