summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-05-16 10:18:25 -0700
committerJunio C Hamano <gitster@pobox.com>2014-05-16 10:18:25 -0700
commitd952cbb1908b54c6a04f37c8b0924a49cdb5997d (patch)
tree76bfb38d3056b6ef6afcd76aaed2230db0d68d9e
parentec445074e0ac4d6003acd21c512c43c8fdb8be86 (diff)
downloadgit-d952cbb1908b54c6a04f37c8b0924a49cdb5997d.tar.gz
request-pull: resurrect for-linus -> tags/for-linus DWIM
Older versions of Git before v1.7.10 did not DWIM $ git pull $URL for-linus to the tag "tags/for-linus" and the users were required to say $ git pull $URL tags/for-linus instead. Because newer versions of Git works either way, request-pull used to show tags/for-linus when asked $ git request-pull origin/master $URL for-linus The recent updates broke this and in the output we see "for-linus" without the "tags/" prefix. As v1.7.10 is more than 2 years old, this should matter very little in practice, but resurrecting it is very simple. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-request-pull.sh6
-rwxr-xr-xt/t5150-request-pull.sh8
2 files changed, 13 insertions, 1 deletions
diff --git a/git-request-pull.sh b/git-request-pull.sh
index b67513a2e7..d6648b2535 100755
--- a/git-request-pull.sh
+++ b/git-request-pull.sh
@@ -118,6 +118,12 @@ then
status=1
fi
+# Special case: turn "for_linus" to "tags/for_linus" when it is correct
+if test "$ref" = "refs/tags/$pretty_remote"
+then
+ pretty_remote=tags/$pretty_remote
+fi
+
url=$(git ls-remote --get-url "$url")
git show -s --format='The following changes since commit %H:
diff --git a/t/t5150-request-pull.sh b/t/t5150-request-pull.sh
index 75d6b3843a..93e2c65de6 100755
--- a/t/t5150-request-pull.sh
+++ b/t/t5150-request-pull.sh
@@ -223,7 +223,13 @@ test_expect_success 'pull request format' '
git request-pull initial "$downstream_url" tags/full:refs/tags/full
) >request &&
sed -nf fuzz.sed <request >request.fuzzy &&
- test_i18ncmp expect request.fuzzy
+ test_i18ncmp expect request.fuzzy &&
+
+ (
+ cd local &&
+ git request-pull initial "$downstream_url" full
+ ) >request &&
+ grep ' tags/full$'
'
test_expect_success 'request-pull ignores OPTIONS_KEEPDASHDASH poison' '