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
Linus Torvalds <torvalds@linux-foundation.org>
Date
Feb 17, 2015, 21:18 UTC
Message-ID
<CA+55aFy_63YEaYa4KYEiMP+pR0-MKrf2nd1PgnJ2Ez2XJuVGhQ@mail.gmail.com>
In-Reply-To
<1957798859.18730760.1424207408147.JavaMail.zimbra@redhat.com>
On Tue, Feb 17, 2015 at 1:10 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:
Show 5 quoted lines
>
> Sure.  But if I got a pull request saying "please pull
> git://example.org/foo.git HEAD" I would think that the sender
> messed up the pull request.  So *in the context of git-request-pull*
> ${remote:-HEAD} makes little sense to me.

Umm. If somebody actually leaves off the third argument THAT IS NOT AT ALL what it prints.

It will show
    The following changes since commit <base>...
        .. base commit description ..
   are available in the git repository at:
      git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
    for you to fetch changes up to cc4f9c2a91b7be7b3590bb1cbe8148873556aa3f:
    ...

IOW, it does exactly the right thing. It gives the contents of HEAD, but it doesn't actually say HEAD anywhere.

And just look at lkml. The above kind of branch-less and tag-less pull requests are still fairly common. It's the original git model, and it may be a bit archaic, and I much prefer people to send me signed tags, but hey, that's what "don't mention a branch or tag" means.

And no, I don't think git request-pull is at all different from other git commands. "git log" means the same thing as "git log HEAD". Exact same thing, and nobody would actually write out that HEAD (except inside scripts, perhaps).

So basically I agree that git request-pull has changed behavior, but the new behavior is *more* in line with other git commands, and the old behavior was actually really really odd with that whole extensive "guess what the user means". No other git command ever did that guessing thing (ok, famous last words, maybe somebody can come up with one), and not mentioning a branch/tag/commit explicitly pretty much always means "HEAD".

                      :Linus
Previous: Paolo BonziniNext: Junio C Hamano
Message 13 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.