Merge branch 'rt/commit-cleanup-config'
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Mar 2013 21:02:53 +0000 (14:02 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 21 Mar 2013 21:02:53 +0000 (14:02 -0700)
Fix tests that contaminated their environments and affected new
tests introduced later in the sequence by containing their effects
in their own subshells.

* rt/commit-cleanup-config:
t7502: perform commits using alternate editor in a subshell

1  2 
t/t7502-commit.sh
diff --combined t/t7502-commit.sh
index 292bc082b2ecc74c652a740b55b888568a0b8eb2,520a5cd52e31c22543d7275ab466619e432a68ee..f9b44b72449d258647c5278c52e5c792ee10445e
@@@ -177,20 -177,12 +177,20 @@@ test_expect_success 'verbose respects d
        git config --unset color.diff
  '
  
 +mesg_with_comment_and_newlines='
 +# text
 +
 +'
 +
 +test_expect_success 'prepare file with comment line and trailing newlines'  '
 +      printf "%s" "$mesg_with_comment_and_newlines" >expect
 +'
 +
  test_expect_success 'cleanup commit messages (verbatim option,-t)' '
  
        echo >>negative &&
 -      { echo;echo "# text";echo; } >expect &&
 -      git commit --cleanup=verbatim -t expect -a &&
 -      git cat-file -p HEAD |sed -e "1,/^\$/d" |head -n 3 >actual &&
 +      git commit --cleanup=verbatim --no-status -t expect -a &&
 +      git cat-file -p HEAD |sed -e "1,/^\$/d" >actual &&
        test_cmp expect actual
  
  '
@@@ -207,7 -199,7 +207,7 @@@ test_expect_success 'cleanup commit mes
  test_expect_success 'cleanup commit messages (verbatim option,-m)' '
  
        echo >>negative &&
 -      git commit --cleanup=verbatim -m "$(cat expect)" -a &&
 +      git commit --cleanup=verbatim -m "$mesg_with_comment_and_newlines" -a &&
        git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&
        test_cmp expect actual
  
@@@ -263,32 -255,40 +263,40 @@@ test_expect_success 'cleanup commit mes
  test_expect_success 'cleanup commit message (no config and no option uses default)' '
        echo content >>file &&
        git add file &&
-       test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
-       git commit --no-status &&
+       (
+         test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
+         git commit --no-status
+       ) &&
        commit_msg_is "commit message"
  '
  
  test_expect_success 'cleanup commit message (option overrides default)' '
        echo content >>file &&
        git add file &&
-       test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
-       git commit --cleanup=whitespace --no-status &&
+       (
+         test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
+         git commit --cleanup=whitespace --no-status
+       ) &&
        commit_msg_is "commit message # comment"
  '
  
  test_expect_success 'cleanup commit message (config overrides default)' '
        echo content >>file &&
        git add file &&
-       test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
-       git -c commit.cleanup=whitespace commit --no-status &&
+       (
+         test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
+         git -c commit.cleanup=whitespace commit --no-status
+       ) &&
        commit_msg_is "commit message # comment"
  '
  
  test_expect_success 'cleanup commit message (option overrides config)' '
        echo content >>file &&
        git add file &&
-       test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
-       git -c commit.cleanup=whitespace commit --cleanup=default &&
+       (
+         test_set_editor "$TEST_DIRECTORY"/t7500/add-content-and-comment &&
+         git -c commit.cleanup=whitespace commit --cleanup=default
+       ) &&
        commit_msg_is "commit message"
  '
  
@@@ -525,11 -525,4 +533,11 @@@ use_template="-t template
  
  try_commit_status_combo
  
 +test_expect_success 'commit --status with custom comment character' '
 +      test_when_finished "git config --unset core.commentchar" &&
 +      git config core.commentchar ";" &&
 +      try_commit --status &&
 +      test_i18ngrep "^; Changes to be committed:" .git/COMMIT_EDITMSG
 +'
 +
  test_done