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

Re: [PATCH] doc: pull: fix rebase=false documentation

From
Philip Oakley <philipoakley@iee.email>
Date
Jul 23, 2021, 10:05 UTC
Message-ID
<9cb70776-8684-9d1e-e4c5-188c6c19fdc7@iee.email>
In-Reply-To
<YPpwIazVxL4GoLbC@coredump.intra.peff.net>
On 23/07/2021 08:30, Jeff King wrote:
Show 33 quoted lines
> On Wed, Jul 21, 2021 at 08:24:25PM -0500, Felipe Contreras wrote:
>
>> I'm not trashing the current behavior, I'm explaining what the consensus
>> is. I spent several man-days re-reading old threads, and this is the
>> consensus of what should happen:
>>
>>   1. git pull              # merge HEAD into upstream
>>   2. git pull origin topic # merge topic into HEAD
>>
>> Of the people that expressed an opinion, 100% of them stated that what
>> `git pull` does in the first case today is not desirable.
> I did not participate in the threads you linked earlier, so I am
> probably not in that 100%. But you did use my name below:
>
>> Yes, you are correct that if *everyone* followed the topic branch
>> workflow, everything would work correctly, but that's not what happens
>> in reality, in reality people do all kinds of workflows, and wrong
>> merges are pervasive.
>>
>> Everyone--including Linus, Jeff, and you--agree that there's two
>> different ways of using `git pull`: integrator versus developer.
>>
>> When a user is doing `git pull` to synchronize changes to push to the
>> same branch, that's a centralized two-way workflow, so he is acting both
>> as an integrator and as a developer, and it's in that particular case
>> that the order of the parents should be reversed. Everyone agrees on
>> that.
>>
>> When the user the opposite explicitely: `git pull origin master`
>> Linus calls it a "back-merge" [1], and in that case the order of the
>> parents should not be reversed.
> So I feel compelled to say now that I do not think that changing the
> order of parents for "git pull" is the obviously correct thing to do.

While I never `pull` because it's not right for me as a 'contributor', I do agree that the default 'maintainer' view of `pull` will need to be retained for long term backward compatibility.

What I have rarely seen in the discussion is explanation that is based on workflow style, though the potential `update` command (1) may break some of the deadlock about the direction of 'pull requests', and possibly confusion regarding the location of the 'golden' publish repo.

(1) there are a lot of 'update' commands floating about, esp on Git for Windows. If there is a suitably named `update` command to do the `pull --contributor` merge-ff swap then many of the issues could fade away.

Show 6 quoted lines
> And likewise, in the one thread I do remember participating in, I
> expressed something similar:
>
>   https://lore.kernel.org/git/20140502214817.GA10801@sigill.intra.peff.net/
>
> -Peff

-- Philip

Previous: Jeff KingNext: Felipe Contreras
Message 6 of 12 in “doc: pull: fix rebase=false documentation”
  1. doc: pull: fix rebase=false documentationFelipe Contreras, Jul 21, 2021
  2. Junio C HamanoJul 21, 2021
  3. Junio C HamanoJul 22, 2021
  4. Felipe ContrerasJul 22, 2021
  5. Jeff KingJul 23, 2021
  6. Philip OakleyJul 23, 2021
  7. Felipe ContrerasJul 23, 2021
  8. Junio C HamanoJul 23, 2021
  9. Felipe ContrerasJul 23, 2021
  10. Junio C HamanoJul 23, 2021
  11. Felipe ContrerasJul 24, 2021
  12. Felipe ContrerasJul 23, 2021

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.