]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'bc/push-cas-cquoted-refname' into master
authorJunio C Hamano <gitster@pobox.com>
Thu, 30 Jul 2020 20:20:34 +0000 (13:20 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Jul 2020 20:20:34 +0000 (13:20 -0700)
Pushing a ref whose name contains non-ASCII character with the
"--force-with-lease" option did not work over smart HTTP protocol,
which has been corrected.

* bc/push-cas-cquoted-refname:
  remote-curl: make --force-with-lease work with non-ASCII ref names

1  2 
remote-curl.c
t/t5541-http-push-smart.sh

diff --cc remote-curl.c
Simple merge
index 463d0f12e5bfcaf79dd5972ecc6fc410a706e148,26c28cec5423f78512d0b784fc14652e2182a5d1..187454f5dd93f412075a9744a33585744455107f
@@@ -464,21 -456,21 +464,36 @@@ test_expect_success 'push status outpu
        grep "^To $HTTPD_URL/smart/test_repo.git" status
  '
  
 +test_expect_success 'clone/fetch scrubs password from reflogs' '
 +      cd "$ROOT_PATH" &&
 +      git clone "$HTTPD_URL_USER_PASS/smart/test_repo.git" \
 +              reflog-test &&
 +      cd reflog-test &&
 +      test_commit prepare-for-force-fetch &&
 +      git switch -c away &&
 +      git fetch "$HTTPD_URL_USER_PASS/smart/test_repo.git" \
 +              +master:master &&
 +      # should have been scrubbed down to vanilla URL
 +      git log -g master >reflog &&
 +      grep "$HTTPD_URL" reflog &&
 +      ! grep "$HTTPD_URL_USER_PASS" reflog
 +'
 +
+ test_expect_success 'Non-ASCII branch name can be used with --force-with-lease' '
+       cd "$ROOT_PATH" &&
+       git clone "$HTTPD_URL_USER_PASS/smart/test_repo.git" non-ascii &&
+       cd non-ascii &&
+       git checkout -b rama-de-árbol &&
+       test_commit F &&
+       git push --force-with-lease origin rama-de-árbol &&
+       git ls-remote origin refs/heads/rama-de-árbol >actual &&
+       git ls-remote . refs/heads/rama-de-árbol >expect &&
+       test_cmp expect actual &&
+       git push --delete --force-with-lease origin rama-de-árbol &&
+       git ls-remote origin refs/heads/rama-de-árbol >actual &&
+       test_must_be_empty actual
+ '
  test_expect_success 'colorize errors/hints' '
        cd "$ROOT_PATH"/test_repo_clone &&
        test_must_fail git -c color.transport=always -c color.advice=always \