summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-07-25 21:13:43 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-07-25 21:13:43 (GMT)
commit0d54ad9cd44231c33f5776f67afea924c9a589b3 (patch)
treec16c60c3d3c91a83e19d71232fd7739dd5745a59
parentae9ca20c85569baa8af20c8b681fe7d80ebec23d (diff)
parent68f3c079fe87caab2e116fd9a48bbdedc54be026 (diff)
downloadgit-0d54ad9cd44231c33f5776f67afea924c9a589b3.zip
git-0d54ad9cd44231c33f5776f67afea924c9a589b3.tar.gz
git-0d54ad9cd44231c33f5776f67afea924c9a589b3.tar.bz2
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-xt/t5541-http-push-smart.sh9
-rw-r--r--transport.c7
2 files changed, 14 insertions, 2 deletions
diff --git a/t/t5541-http-push-smart.sh b/t/t5541-http-push-smart.sh
index ca6becf..4840c71 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 59b911e..b233e3e 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: