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

Small rerere in rebase regression

From
Johannes Sixt <j6t@kdbg.org>
Date
May 23, 2016, 18:01 UTC
Message-ID
<57434572.6030306@kdbg.org>

Even though I operate with jc/rerere-multi for some time now, I noticed this regression only recently. Watch out for the duplicated "Recorded preimage" message:

gittest@side:1078> strace -f -o /tmp/git-rebase-conflict.strace git rebase -i master error: could not apply 59f92e0... side

When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort".

Recorded preimage for 'a' Recorded preimage for 'a' Could not apply 59f92e09c890c08442eb1df91eaecec3d1656c86... side

According to the strace, the first "Recorded preimage" is from git cherry-pick, the second is from "git rerere" in this section in git-rebase--interactive.sh:

die_with_patch () {
	echo "$1" > "$state_dir"/stopped-sha
	make_patch "$1"
	git rerere
	die "$2"
}
The buglet bisects to
629716d256a792179325c2cc7945bb2d81dda8c2 is the first bad commit
commit 629716d256a792179325c2cc7945bb2d81dda8c2
Author: Junio C Hamano <gitster@pobox.com>
Date:   Thu Jul 30 15:49:18 2015 -0700
    rerere: do use multiple variants
    
    This enables the multiple-variant support for real.  Multiple
    conflicts of the same shape can have differences in contexts where
    they appear, interfering the replaying of recorded resolution of one
    conflict to another, and in such a case, their resolutions are
    recorded as different variants under the same conflict ID.
    
    We still need to adjust garbage collection codepaths for this
    change, but the basic "replay" functionality is functional with
    this change.
    
    Signed-off-by: Junio C Hamano <gitster@pobox.com>

I'm not sure whether the new behavior is a defect in rerere.c or a consequence of the extra rerere call in interactive rebase...

-- Hannes
Next: Junio C Hamano
Message 1 of 11 in “Small rerere in rebase regression”
  1. Johannes SixtMay 23, 2016
  2. Junio C HamanoMay 23, 2016
  3. Johannes SixtMay 23, 2016
  4. Junio C HamanoMay 23, 2016
  5. Johannes SchindelinMay 24, 2016
  6. Johannes SixtMay 24, 2016
  7. Johannes SchindelinMay 25, 2016
  8. Johannes SchindelinMay 25, 2016
  9. Johannes SixtMay 27, 2016
  10. Johannes SchindelinMay 28, 2016
  11. Johannes SixtMay 24, 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.