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

Re: [PATCH v2 1/1] builtin rebase: prepare for builtin rebase -i

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Aug 30, 2018, 11:03 UTC
Message-ID
<nycvar.QRO.7.76.6.1808301259420.71@tvgsbejvaqbjf.bet>
In-Reply-To
<xmqq5zzs94qb.fsf@gitster-ct.c.googlers.com>
Hi Junio,
On Wed, 29 Aug 2018, Junio C Hamano wrote:
Show 15 quoted lines
> "Johannes Schindelin via GitGitGadget" <gitgitgadget@gmail.com>
> writes:
> 
> > From: Johannes Schindelin <johannes.schindelin@gmx.de>
> >
> > The builtin rebase and the builtin interactive rebase have been
> > developed independently, on purpose: Google Summer of Code rules
> > specifically state that students have to work on independent projects,
> > they cannot collaborate on the same project.
> 
> A much better description, especially without the less relevant "the
> reason probably is..." omitted from here.  The author's personal
> guess, while adding it does not help understanding what is already
> in the above paragraph an iota, is still a fine reading material in
> the cover letter 0/1, though.
I addressed Jonathan's concern, though.
Show 35 quoted lines
> > One fallout is that the rebase-in-c and rebase-i-in-c patches cause no
> > merge conflicts but a royal number of tests in the test suite to fail.
> >
> > It is easy to explain why: rebase-in-c was developed under the
> > assumption that all rebase backends are implemented in Unix shell script
> > and can be sourced via `. git-rebase--<backend>`, which is no longer
> > true with rebase-i-in-c, where git-rebase--interactive is a hard-linked
> > builtin.
> >
> > This patch fixes that.
> >
> > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> > ---
> >  builtin/rebase.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 81 insertions(+)
> 
> 
> Will replace by doing:
> 
>     $ git checkout js/rebase-in-c-5.5-work-with-rebase-i-in-c
>     $ git checkout HEAD^
>     $ git am -s mbox
>     $ git range-diff @{-1}...
>     $ git checkout -B @{-1}
> 
>     $ git checkout pk/rebase-i-in-c-6-final
>     $ git rebase --onto js/rebase-in-c-5.5-work-with-rebase-i-in-c \
>           js/rebase-in-c-5.5-work-with-rebase-i-in-c@{1} HEAD^0
>     $ git range-diff @{-1}...
>     $ git checkout -B @{-1}
> 
> to update the two topics and then rebuilding the integration
> branches the usual way.  I also need to replace the "other" topic
> used in this topic, so the actual procedure would be a bit more
> involved than the above, though.

Is there any reason why you avoid using `git rebase -ir` here? This should be so much easier via

	git checkout pk/rebase-i-in-c-6-final
	git rebase -ir js/rebase-in-c-5.5-work-with-rebase-i-in-c^

and then inserting this at the appropriate position, followed by the `git range-diff @{-1}...`:

	git am -s mbox
	git update-ref js/rebase-in-c-5.5-work-with-rebase-i-in-c HEAD

Ciao, Dscho

Previous: Junio C HamanoNext: Jeff King
Message 15 of 22 in “Teach the builtin rebase about the builtin interactive rebase”
  1. 0/1 Teach the builtin rebase about the builtin interactive rebaseJohannes Schindelin via GitGitGadget, Aug 22, 2018
  2. 1/1 builtin rebase: prepare for builtin rebase -iJohannes Schindelin via GitGitGadget, Aug 22, 2018
  3. Junio C HamanoAug 22, 2018
  4. Jonathan NiederAug 23, 2018
  5. Johannes SchindelinAug 25, 2018
  6. Junio C HamanoAug 27, 2018
  7. Johannes SchindelinAug 28, 2018
  8. Junio C HamanoAug 28, 2018
  9. Johannes SchindelinAug 29, 2018
  10. Jonathan NiederAug 28, 2018
  11. Johannes SchindelinAug 29, 2018
  12. 0/1 Teach the builtin rebase about the builtin interactive rebaseJohannes Schindelin via GitGitGadget, Aug 29, 2018
  13. 1/1 builtin rebase: prepare for builtin rebase -iJohannes Schindelin via GitGitGadget, Aug 29, 2018
  14. Junio C HamanoAug 29, 2018
  15. Johannes SchindelinAug 30, 2018
  16. Jeff KingAug 30, 2018
  17. Johannes SchindelinAug 31, 2018
  18. Jeff KingAug 31, 2018
  19. 0/1 Teach the builtin rebase about the builtin interactive rebaseJohannes Schindelin via GitGitGadget, Oct 5, 2018
  20. 1/1 builtin rebase: prepare for builtin rebase -iJohannes Schindelin via GitGitGadget, Oct 5, 2018
  21. Junio C HamanoOct 6, 2018
  22. Johannes SchindelinOct 12, 2018

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.