On 02/11/2021 01:27, Jeff King wrote:
On Tue, Nov 02, 2021 at 12:17:29AM +0100, Jonas Kittner wrote:
In the interactive prompt I changed `pick` to `reword`, saved and closed the
prompt.
Commands to repoduce see below
Thanks for the easy reproduction. Here are commands that slightly
simplify / automate things, which I used to bisect:
rm -rf repo
git init repo
cd repo
git commit --allow-empty -qm base
touch file
git add .
GIT_AUTHOR_DATE='@123456789 +0000' git commit -qm "this message says pick"
GIT_EDITOR='sed -i s/pick/reword/' \
git.compile rebase -i --committer-date-is-author-date HEAD^
# not strictly necessary, but when it works, you can see that the
# timestamps correctly match, and that "pick" was changed to "reword"
# in the message. Of course when it doesn't work, rebase aborts, so
# that's easier to see than looking at the commit. :)
git cat-file commit HEAD
What happened instead? (Actual behavior)
segfault: `BUG: sequencer.c:921: GIT_AUTHOR_DATE missing from author script`
[...]
https://github.com/git/git/commit/7573cec52c0274ceb166c425be4288f6b3103d6f#d
iff-0e574dc9087fc7831bbc1403545a8561f08869576c1ccc4146aa276146ff9777R888-R88
9
this seems to be not the case and needs to be handled differently I guess?
It looks like things did work back in 7573cec52c (rebase -i: support
--committer-date-is-author-date, 2020-08-17). Bisecting shows that it
broke in baf8ec8d3a (rebase -r: don't write .git/MERGE_MSG when
fast-forwarding, 2021-08-20). +cc Phillip (who wrote both commits).
Thanks for bisecting, I think I know what the problem is, I'll post a
fix tomorrow.
Best Wishes
Phillip