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

Re: What's cooking in git.git (Sep 2016, #05; Mon, 19)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Sep 21, 2016, 18:22 UTC
Message-ID
<alpine.DEB.2.20.1609211937360.129229@virtualbox>
In-Reply-To
<xmqq8tulclcu.fsf@gitster.mtv.corp.google.com>
Hi Junio,
On Wed, 21 Sep 2016, Junio C Hamano wrote:
Show 21 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> >> * jk/rebase-i-drop-ident-check (2016-07-29) 1 commit
> >>   (merged to 'next' on 2016-08-14 at 6891bcd)
> >>  + rebase-interactive: drop early check for valid ident
> >> 
> >>  Even when "git pull --rebase=preserve" (and the underlying "git
> >>  rebase --preserve") can complete without creating any new commit
> >>  (i.e. fast-forwards), it still insisted on having a usable ident
> >>  information (read: user.email is set correctly), which was less
> >>  than nice.  As the underlying commands used inside "git rebase"
> >>  would fail with a more meaningful error message and advice text
> >>  when the bogus ident matters, this extra check was removed.
> >> 
> >>  Will hold to see if people scream.
> >>  cf. <20160729224944.GA23242@sigill.intra.peff.net>
> >
> > Let's do this.
> 
> We have already been doing it (i.e. "hold to see if people scream")
> for some time.
I meant: let's merge this to `master`.
> Does it conflict with your effort to reimplement "rebase -i" in C
I do not think so.
Show 5 quoted lines
> to keep this in 'next'?  Do you want it to move to 'master'?  I was
> under the impression that it would not make a difference to have or not
> have this patch once your reimplementation gets merged (meaning: the
> removal of the three lines will be done by wholesale removal of
> git-rebase--interactive.sh done the endgame of your series), so...

Oh, I failed to make clear that my patch series do *not* remove git-rebase--interactive.sh. I just barely started to work to that end. While the speed improvements are quite noticable, the rebase--helper command still only implements the performance-critical code paths in C.

There is quite a bit of work left to do before git-rebase--interactive.sh can be retired:

- --root is not handled via the sequencer yet,
- --preserve-merges is not handled either [*1*],
- the shell script still sets up the state directory,
- option parsing is still all-shell,
- probably more tasks I forgot.

The good news is that these parts can be converted independently from each other, and even by independent developers (hint, hint ;-)).

Ciao, Dscho

Footnote *1*: I am not sure that I want to port -p to C: in my view, this is a failed experiment, to be replaced with a design based on my Git garden shears. I tend to think that that part should be moved to a new shell script ("git-rebase--preserve-merges.sh"?) unless some developer other than me feels strongly enough to put their money where their mouth is and teach the sequencer about it.

Previous: Junio C HamanoNext: Duy Nguyen
Message 4 of 11 in “What's cooking in git.git (Sep 2016, #05; Mon, 19)”
  1. Junio C HamanoSep 19, 2016
  2. Johannes SchindelinSep 20, 2016
  3. Junio C HamanoSep 21, 2016
  4. Johannes SchindelinSep 21, 2016
  5. Duy NguyenSep 21, 2016
  6. Junio C HamanoSep 21, 2016
  7. Kevin DaudtSep 21, 2016
  8. Junio C HamanoSep 21, 2016
  9. Kevin DaudtSep 21, 2016
  10. Jeff KingSep 22, 2016
  11. Junio C HamanoSep 22, 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.