aboutsummaryrefslogtreecommitdiff
path: root/t/t7514-commit-patch.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-03-28 13:51:11 -0700
committerJunio C Hamano <gitster@pobox.com>2014-03-28 13:51:11 -0700
commit9abf65d23ce8700c290fa4f7d834a10ec5b3e327 (patch)
tree8a378ca3c195c00c4f43a30ea89f3c12d844bf38 /t/t7514-commit-patch.sh
parentb2273d06033e5989ca30a72492ca894d0416354f (diff)
parentb549be0da7ff9075c0b3de14c1d5d03583ca8d2d (diff)
downloadgit-9abf65d23ce8700c290fa4f7d834a10ec5b3e327.tar.xz
Merge branch 'bp/commit-p-editor'
When it is not necessary to edit a commit log message (e.g. "git commit -m" is given a message without specifying "-e"), we used to disable the spawning of the editor by overriding GIT_EDITOR, but this means all the uses of the editor, other than to edit the commit log message, are also affected. * bp/commit-p-editor: run-command: mark run_hook_with_custom_index as deprecated merge hook tests: fix and update tests merge: fix GIT_EDITOR override for commit hook commit: fix patch hunk editing with "commit -p -m" test patch hunk editing with "commit -p -m" merge hook tests: use 'test_must_fail' instead of '!' merge hook tests: fix missing '&&' in test
Diffstat (limited to 't/t7514-commit-patch.sh')
-rwxr-xr-xt/t7514-commit-patch.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/t/t7514-commit-patch.sh b/t/t7514-commit-patch.sh
new file mode 100755
index 0000000000..998a2103c7
--- /dev/null
+++ b/t/t7514-commit-patch.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+test_description='hunk edit with "commit -p -m"'
+. ./test-lib.sh
+
+if ! test_have_prereq PERL
+then
+ skip_all="skipping '$test_description' tests, perl not available"
+ test_done
+fi
+
+test_expect_success 'setup (initial)' '
+ echo line1 >file &&
+ git add file &&
+ git commit -m commit1
+'
+
+test_expect_success 'edit hunk "commit -p -m message"' '
+ test_when_finished "rm -f editor_was_started" &&
+ rm -f editor_was_started &&
+ echo more >>file &&
+ echo e | env GIT_EDITOR=": >editor_was_started" git commit -p -m commit2 file &&
+ test -r editor_was_started
+'
+
+test_expect_success 'edit hunk "commit --dry-run -p -m message"' '
+ test_when_finished "rm -f editor_was_started" &&
+ rm -f editor_was_started &&
+ echo more >>file &&
+ echo e | env GIT_EDITOR=": >editor_was_started" git commit -p -m commit3 file &&
+ test -r editor_was_started
+'
+
+test_done