Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes: > Thinking some more about the tag_name issue, I realize that the other > patch ("Make request-pull able to take a refspec of form > local:remote") broke another thing. > > The first patch pretty-printed the local branch-name, removing "refs/" > and possibly "heads/" from the local refname. So for a branch, it > would ask people to just pull from the branch-name, and for a tag it > would ask people to pull from "tags/name", which is good policy. So if > you had a tag called "for-linus", it would say so (using > "tags/for-linus"). > > But the local:remote syntax thing ends up breaking that nice feature. > The old find_matching_refs would actually cause us to show the "tags" > part if it existed on the remote, but that had become pointless and > counter-productive with the first patch. But with the second patch, > maybe we should reinstate that logic.. Sorry for back-burnering this topic so long. I think the following does what you suggested in the message I am responding to. Now, hopefully the only thing we need is a documentation update and the series should be ready to go. -- >8 -- Subject: request-pull: resurrect "pretty refname" feature When asking to fetch/pull a branch whose name is B or a tag whose name is T, we used to show the command to run as: git pull $URL B git pull $URL tags/T even when B and T were spelled in a more qualified way in order to disambiguate, e.g. heads/B or refs/tags/T, but the recent update lost this feature. Resurrect it. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- git-request-pull.sh | 4 +++- t/t5150-request-pull.sh | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/git-request-pull.sh b/git-request-pull.sh index 93b4135..b67513a 100755 --- a/git-request-pull.sh +++ b/git-request-pull.sh @@ -53,6 +53,8 @@ fi local=${3%:*} local=${local:-HEAD} remote=${3#*:} +pretty_remote=${remote#refs/} +pretty_remote=${pretty_remote#heads/} head=$(git symbolic-ref -q "$local") head=${head:-$(git show-ref --heads --tags "$local" | cut -d' ' -f2)} head=${head:-$(git rev-parse --quiet --verify "$local")} @@ -124,7 +126,7 @@ git show -s --format='The following changes since commit %H: are available in the git repository at: ' $merge_base && -echo " $url $remote" && +echo " $url $pretty_remote" && git show -s --format=' for you to fetch changes up to %H: diff --git a/t/t5150-request-pull.sh b/t/t5150-request-pull.sh index 2622057..75d6b38 100755 --- a/t/t5150-request-pull.sh +++ b/t/t5150-request-pull.sh @@ -216,8 +216,14 @@ test_expect_success 'pull request format' ' git request-pull initial "$downstream_url" tags/full >../request ) && <request sed -nf fuzz.sed >request.fuzzy && - test_i18ncmp expect request.fuzzy + test_i18ncmp expect request.fuzzy && + ( + cd local && + 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_expect_success 'request-pull ignores OPTIONS_KEEPDASHDASH poison' ' -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html