Merge branch 'jk/http-backend-keep-committer-ident-env' into maint
authorJunio C Hamano <gitster@pobox.com>
Thu, 10 May 2012 17:29:50 +0000 (10:29 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 10 May 2012 17:29:50 +0000 (10:29 -0700)
By Jeff King
* jk/http-backend-keep-committer-ident-env:
http-backend: respect existing GIT_COMMITTER_* variables

Conflicts:
t/t5541-http-push.sh

1  2 
t/t5541-http-push.sh
diff --combined t/t5541-http-push.sh
index c07973ed8d2c557c0c0fa0d891e995d955fa96b9,d7964c7eb523ce95944d559e6123df4c2b6d3934..1f5bfa2d063b41d8eece768946b6143ea57f287a
@@@ -30,6 -30,7 +30,7 @@@ test_expect_success 'setup remote repos
        git clone --bare test_repo test_repo.git &&
        cd test_repo.git &&
        git config http.receivepack true &&
+       git config core.logallrefupdates true &&
        ORIG_HEAD=$(git rev-parse --verify HEAD) &&
        cd - &&
        mv test_repo.git "$HTTPD_DOCUMENT_ROOT_PATH"
@@@ -215,35 -216,32 +216,55 @@@ test_expect_success 'push --mirror to r
        git push --mirror "$HTTPD_URL"/smart/alternates-mirror.git
  '
  
 -test_expect_success TTY 'quiet push' '
 +test_expect_success TTY 'push shows progress when stderr is a tty' '
 +      cd "$ROOT_PATH"/test_repo_clone &&
 +      test_commit noisy &&
 +      test_terminal git push >output 2>&1 &&
 +      grep "^Writing objects" output
 +'
 +
 +test_expect_success TTY 'push --quiet silences status and progress' '
        cd "$ROOT_PATH"/test_repo_clone &&
        test_commit quiet &&
 -      test_terminal git push --quiet --no-progress 2>&1 | tee output &&
 +      test_terminal git push --quiet >output 2>&1 &&
        test_cmp /dev/null output
  '
  
 +test_expect_success TTY 'push --no-progress silences progress but not status' '
 +      cd "$ROOT_PATH"/test_repo_clone &&
 +      test_commit no-progress &&
 +      test_terminal git push --no-progress >output 2>&1 &&
 +      grep "^To http" output &&
 +      ! grep "^Writing objects"
 +'
 +
 +test_expect_success 'push --progress shows progress to non-tty' '
 +      cd "$ROOT_PATH"/test_repo_clone &&
 +      test_commit progress &&
 +      git push --progress >output 2>&1 &&
 +      grep "^To http" output &&
 +      grep "^Writing objects" output
 +'
 +
+ test_expect_success 'http push gives sane defaults to reflog' '
+       cd "$ROOT_PATH"/test_repo_clone &&
+       test_commit reflog-test &&
+       git push "$HTTPD_URL"/smart/test_repo.git &&
+       git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git" \
+               log -g -1 --format="%gn <%ge>" >actual &&
+       echo "anonymous <anonymous@http.127.0.0.1>" >expect &&
+       test_cmp expect actual
+ '
+ test_expect_success 'http push respects GIT_COMMITTER_* in reflog' '
+       cd "$ROOT_PATH"/test_repo_clone &&
+       test_commit custom-reflog-test &&
+       git push "$HTTPD_URL"/smart_custom_env/test_repo.git &&
+       git --git-dir="$HTTPD_DOCUMENT_ROOT_PATH/test_repo.git" \
+               log -g -1 --format="%gn <%ge>" >actual &&
+       echo "Custom User <custom@example.com>" >expect &&
+       test_cmp expect actual
+ '
  stop_httpd
  test_done