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

Re: [PATCH 2/3] Teach 'git remote' that the config var branch.*.rebase can be 'interactive'

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 13, 2016, 13:26 UTC
Message-ID
<alpine.DEB.2.20.1601131422260.2964@virtualbox>
In-Reply-To
<vpqziw9oefy.fsf@anie.imag.fr>
Hi Matthieu,
On Wed, 13 Jan 2016, Matthieu Moy wrote:
Show 23 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Wed, 13 Jan 2016, Matthieu Moy wrote:
> >
> >> Johannes Schindelin <johannes.schindelin@gmx.de> writes:
> >>
> >> What happens if one has branch.*.rebase=interactive, and wants to
> >> make an exception? Does
> >> 
> >>   git pull --rebase=true
> >> 
> >> cancel the 'interactive' part?
> >
> > It is the same situation as before (just substitute a
> > branch.*.rebase=preserve setting): yes, the config is parsed first,
> > then the command line, so the command line wins.
> >
> >> I guess it is, but if so I think it should be tested and documented.
> >
> > Is this really necessary, given that the behavior has not changed from
> > before?
> 
> Well, before your patch, branch.*.rebase=interactive was not possible.

But branch.*.rebase=preserve was. And it is still different from branch.*.rebase=true. And as per v2.7.0, those config settings can be overridden via the command line.

Seeing as I did not change that behavior, I would find it a bit odd to document that the command line can override the config setting.

Show 6 quoted lines
> It is not immediately clear to me that --rebase=true can mean "do the
> pull with rebasing, but without going interactive", as "do pull with
> rebase" and "rebase interactively" could be two independant things.
> Reading the current doc does not help much: "When true, rebase the
> current branch on top of the upstream branch after fetching" => it does
> not say that "true" also specifies which kind of rebase is performed.

Again, I did not change that behavior, and the same confusion could arise with the "preserve" setting.

But I do not really see the confusion, as `git rebase` (without -p and without -i) means: "perform a rebase", and everybody assumes that it is a non-interactive, non-merge-preserving rebase. Hence I would assume that users know that a rebase without any further adjective refers to the plain, non-interactive, non-merge-preserving one.

Ciao, Dscho

Previous: Matthieu MoyNext: Johannes Schindelin
Message 11 of 27 in “Support `git pull --rebase=interactive`”
  1. 0/3 Support `git pull --rebase=interactive`Johannes Schindelin, Jan 12, 2016
  2. 1/3 Teach 'git pull' to handle --rebase=interactiveJohannes Schindelin, Jan 12, 2016
  3. Junio C HamanoJan 12, 2016
  4. Johannes SchindelinJan 13, 2016
  5. 2/3 Teach 'git remote' that the config var branch.*.rebase can be 'interactive'Johannes Schindelin, Jan 12, 2016
  6. Junio C HamanoJan 12, 2016
  7. Johannes SchindelinJan 13, 2016
  8. Matthieu MoyJan 13, 2016
  9. Johannes SchindelinJan 13, 2016
  10. Matthieu MoyJan 13, 2016
  11. Johannes SchindelinJan 13, 2016
  12. 3/3 completion: add missing branch.*.rebase valuesJohannes Schindelin, Jan 12, 2016
  13. Junio C HamanoJan 12, 2016
  14. 0/3 Support `git pull --rebase=interactive`Johannes Schindelin, Jan 13, 2016
  15. 1/3 pull: allow interactive rebase with --rebase=interactiveJohannes Schindelin, Jan 13, 2016
  16. Paul TanJan 13, 2016
  17. Johannes SchindelinJan 13, 2016
  18. Junio C HamanoJan 13, 2016
  19. Johannes SchindelinJan 13, 2016
  20. Junio C HamanoJan 13, 2016
  21. 2/3 remote: handle the config setting branch.*.rebase=interactiveJohannes Schindelin, Jan 13, 2016
  22. 3/3 completion: add missing branch.*.rebase valuesJohannes Schindelin, Jan 13, 2016
  23. 0/3 Support `git pull --rebase=interactive`Johannes Schindelin, Jan 13, 2016
  24. 1/3 pull: allow interactive rebase with --rebase=interactiveJohannes Schindelin, Jan 13, 2016
  25. 2/3 remote: handle the config setting branch.*.rebase=interactiveJohannes Schindelin, Jan 13, 2016
  26. 3/3 completion: add missing branch.*.rebase valuesJohannes Schindelin, Jan 13, 2016
  27. Junio C HamanoJan 13, 2016

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.