git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 0/3] request-pull: do something if $3 is passed

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 16, 2015, 19:47 UTC
Message-ID
<xmqqiof163kk.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1424110568-29479-1-git-send-email-bonzini@gnu.org>
Paolo Bonzini <bonzini@gnu.org> writes:
Show 5 quoted lines
> From: Paolo Bonzini <pbonzini@redhat.com>
>
> After updating to git 2.3.0, "git request-pull" is stubbornly complaining
> that I lack a matching tag on the remote side unless I pass the third
> argument.  But I did prepare and push a signed tag.
A few questions.
 - what old version did you update from?  I think the "correct
   over-eager dwimming" change was from v2.0 days.
 - what exactly do you mean by "stubbornly complain"?  I think we
   say something about HEAD not matching the HEAD over there, which
   I think is bogus (we should instead say things about the branch
   you are on and the branch over there with the same name) and is
   worth fixing.
> This looks like a bug to me; when $3 is not passed git will try to use
> "HEAD" as the default but it cannot be resolved to a tag, neither locally
> (patch 2) nor remotely (patch 3).

An earlier 024d34cb (request-pull: more strictly match local/remote branches, 2014-01-22) deliberately disabled over-eager DWIMming when the $3-rd argument _is_ given. It didn't say much about what should happen when it is missing.

I am torn about your changes.

One part of me feel that not giving the $3-rd argument should behave the same way as if you gave the name of the current branch as the $3-rd argument. DWIMming from local HEAD to a local branch name (e.g. 'master') may be OK and necessary (I already said it is worth fixing above). But we should not be resurrecting the over-eager DWIMming from that point---not from a local branch name to a tag that points at it, which was what 024d34cb wanted to forbid.

On the other hand, I can also understand (not necessarily agree with) a view that not giving the $3-rd argument is an explicit user's wish to us to DWIM as much as we want. But again, that directly contradicts with the desire of 024d34cb.

So,... I dunno.

I'd be more comfortable if 2/3 and 3/3 were replaced with something like "do not ask HEAD to be pulled, but always require a specific ref to be pulled", by dereferencing HEAD locally to a branch name, and behave as if that name was given to $3 from the command line, without doing any other changes (like turning that branch name that was implicitly given into a tag that happens to point at it).

Thanks.
Show 13 quoted lines
>
> Patch 1 is a simple testcase fix.
>
> Paolo
>
> Paolo Bonzini (3):
>   request-pull: fix expected format in tests
>   request-pull: use "git tag --points-at" to detect local tags
>   request-pull: find matching tag or branch name on remote side
>
>  git-request-pull.sh     | 15 +++++++++++----
>  t/t5150-request-pull.sh |  5 ++---
>  2 files changed, 13 insertions(+), 7 deletions(-)
Previous: Paolo BonziniNext: Paolo Bonzini
Message 5 of 16 in “request-pull: do something if $3 is passed”
  1. 0/3 request-pull: do something if $3 is passedPaolo Bonzini, Feb 16, 2015
  2. 1/3 request-pull: fix expected format in testsPaolo Bonzini, Feb 16, 2015
  3. 2/3 request-pull: use "git tag --points-at" to detect local tagsPaolo Bonzini, Feb 16, 2015
  4. 3/3 request-pull: find matching tag or branch name on remote sidePaolo Bonzini, Feb 16, 2015
  5. Junio C HamanoFeb 16, 2015
  6. Paolo BonziniFeb 17, 2015
  7. Junio C HamanoFeb 17, 2015
  8. Paolo BonziniFeb 17, 2015
  9. Linus TorvaldsFeb 17, 2015
  10. Paolo BonziniFeb 17, 2015
  11. Linus TorvaldsFeb 17, 2015
  12. Paolo BonziniFeb 17, 2015
  13. Linus TorvaldsFeb 17, 2015
  14. Junio C HamanoFeb 18, 2015
  15. Junio C HamanoFeb 17, 2015
  16. Linus TorvaldsFeb 17, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.