]> git.ipfire.org Git - thirdparty/git.git/commit
rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Thu, 23 Jan 2020 12:28:19 +0000 (12:28 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 23 Jan 2020 20:48:12 +0000 (12:48 -0800)
commit26027625dd1ee358e2174a09d519252995d51662
tree7f511fa73740ccf71e0c431e017454cba884c058
parentb6992261deb1c32e11998b19467ecd4d328ba049
rebase -i: also avoid SHA-1 collisions with missingCommitsCheck

When `rebase.missingCommitsCheck` is in effect, we use the backup of the
todo list that was copied just before the user was allowed to edit it.

That backup is, of course, just as susceptible to the hash collision as
the todo list itself: a reworded commit could make a previously
unambiguous short commit ID ambiguous all of a sudden.

So let's not just copy the todo list, but let's instead write out the
backup with expanded commit IDs.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
rebase-interactive.c
t/t3404-rebase-interactive.sh