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

Re: [PATCH v2] Teach 'git pull' about --rebase

From
JFJ. Bruce Fields <bfields@fieldses.org>
Date
Nov 28, 2007, 22:33 UTC
Message-ID
<20071128223339.GF7376@fieldses.org>
In-Reply-To
<Pine.LNX.4.64.0711282156520.27959@racer.site>
On Wed, Nov 28, 2007 at 09:58:52PM +0000, Johannes Schindelin wrote:
Show 27 quoted lines
> Hi,
> 
> On Wed, 28 Nov 2007, Junio C Hamano wrote:
> 
> > "Lars Hjemli" <hjemli@gmail.com> writes:
> > 
> > > On 11/28/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > >> On Wed, 28 Nov 2007, Steven Grimm wrote:
> > >> > I wonder if this shouldn't be branch.<name>.pulltype or something like
> > >> > that, so we can represent more than just "rebase or not." Values could
> > >> > be "rebase", "merge" (the default) and maybe even "manual" to specify
> > >> > that git-pull should neither merge nor rebase a particular branch even
> > >> > if it matches a wildcard refspec.
> > >>
> > >> I am not convinced that this is a good thing... We already have
> > >> branch.<name>.mergeOptions for proper merges, and I want to make clear
> > >> that this is about rebase, and not about merge.
> > >
> > > Maybe branch.<name>.pullOptions ?
> > 
> > Maybe not make this part of git-pull at all?  merge and rebase have
> > totally different impact on the resulting history, so perhaps a separate
> > command that is a shorthand for "git fetch && git rebase" may help
> > unconfuse the users.
> 
> Not so sure about that.  We already have too many commands, according to 
> some outspoken people, and this would add to it.

What they're really complaining about is the size and complexity of the interface, and the lack of a clearly identified subset for them to learn first.

This has so far mainly manifested itself in complaints about the number of commands, because that's currently where a lot of our complexity is. But they *will* complain about proliferation of commandline switches and config options too. (I've heard complaints about the number of switches required on the average cvs commandline, for example.)

We're stuck expanding the interface here, whether we expand it by another command or another commandline switch.

So, how do you decide whether to make it a new command or not?
	- Look at existing documentation that talks about pull: if that
	  documentation will still apply to the new pull, that weighs
	  for keeping it the same command.  If theat documentation would
	  apply only without having a certain config value set, then I
	  think it's better as a separate command.
	- Will this make it more or less simple to identify the subset
	  of the git syntax that a user will have to do a given job?  If
	  there are jobs for which someone might only ever need the new
	  fetch+rebase, or for which they would only ever need the
	  traditional pull, then I think it would keep the two separate,
	  to make it easier for a learner to skip over information about
	  the one they're not using.

I've got no proposal for an alternate name. All that comes to mind is the portmanteau "freebase", which is terrible....

--b.
Previous: Steven GrimmNext: J. Bruce Fields
Message 19 of 32 in “Teach 'git pull' the '--rebase' option”
  1. Teach 'git pull' the '--rebase' optionJohannes Schindelin, Oct 25, 2007
  2. Linus TorvaldsOct 25, 2007
  3. Johannes SchindelinOct 25, 2007
  4. Linus TorvaldsOct 25, 2007
  5. Linus TorvaldsOct 25, 2007
  6. Junio C HamanoOct 25, 2007
  7. Johannes SchindelinOct 26, 2007
  8. Junio C HamanoNov 28, 2007
  9. Teach 'git pull' about --rebaseJohannes Schindelin, Nov 28, 2007
  10. Jonathan del StrotherNov 28, 2007
  11. Johannes SchindelinNov 28, 2007
  12. Jakub NarebskiNov 28, 2007
  13. Steven GrimmNov 28, 2007
  14. Johannes SchindelinNov 28, 2007
  15. Lars HjemliNov 28, 2007
  16. Junio C HamanoNov 28, 2007
  17. Johannes SchindelinNov 28, 2007
  18. Steven GrimmNov 28, 2007
  19. J. Bruce FieldsNov 28, 2007
  20. J. Bruce FieldsNov 28, 2007
  21. Johannes SchindelinNov 28, 2007
  22. Junio C HamanoNov 28, 2007
  23. J. Bruce FieldsNov 28, 2007
  24. Johannes SchindelinNov 29, 2007
  25. Andreas EricssonNov 29, 2007
  26. Nicolas PitreNov 29, 2007
  27. Jon LoeligerNov 28, 2007
  28. Johannes SchindelinNov 28, 2007
  29. Björn SteinbrinkDec 1, 2007
  30. Karl HasselströmDec 3, 2007
  31. Jeff KingOct 26, 2007
  32. Jeff KingOct 26, 2007

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.