diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-07-25 14:13:43 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-07-25 14:13:43 -0700 |
commit | 0d54ad9cd44231c33f5776f67afea924c9a589b3 (patch) | |
tree | c16c60c3d3c91a83e19d71232fd7739dd5745a59 | |
parent | Merge branch 'nd/test-helpers' (diff) | |
parent | t5541: fix url scrubbing test when GPG is not set (diff) | |
download | tgif-0d54ad9cd44231c33f5776f67afea924c9a589b3.tar.xz |
Merge branch 'jk/push-scrub-url'
"git fetch http://user:pass@host/repo..." scrubbed the userinfo
part, but "git push" didn't.
* jk/push-scrub-url:
t5541: fix url scrubbing test when GPG is not set
push: anonymize URL in status output
-rwxr-xr-x | t/t5541-http-push-smart.sh | 9 | ||||
-rw-r--r-- | transport.c | 7 |
2 files changed, 14 insertions, 2 deletions
diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh index ca6becfe37..4840c71f02 100755 --- a/t/t5541-http-push-smart.sh +++ b/t/t5541-http-push-smart.sh @@ -368,5 +368,14 @@ test_expect_success GPG 'push with post-receive to inspect certificate' ' test_cmp expect "$HTTPD_DOCUMENT_ROOT_PATH/push-cert-status" ' +test_expect_success 'push status output scrubs password' ' + cd "$ROOT_PATH/test_repo_clone" && + git push --porcelain \ + "$HTTPD_URL_USER_PASS/smart/test_repo.git" \ + +HEAD:scrub >status && + # should have been scrubbed down to vanilla URL + grep "^To $HTTPD_URL/smart/test_repo.git" status +' + stop_httpd test_done diff --git a/transport.c b/transport.c index 59b911e5ff..b233e3ee5e 100644 --- a/transport.c +++ b/transport.c @@ -359,8 +359,11 @@ static void print_ok_ref_status(struct ref *ref, int porcelain) static int print_one_push_status(struct ref *ref, const char *dest, int count, int porcelain) { - if (!count) - fprintf(porcelain ? stdout : stderr, "To %s\n", dest); + if (!count) { + char *url = transport_anonymize_url(dest); + fprintf(porcelain ? stdout : stderr, "To %s\n", url); + free(url); + } switch(ref->status) { case REF_STATUS_NONE: |