[PATCH v2 RFC] rebase-i-p: if todo was reordered use HEAD as the rewritten parent
- From
Stephen Haberman <stephen@exigencecorp.com>
- Date
- Oct 8, 2008, 06:41 UTC
- Message-ID
- <211dfcea6f13f8ddb3153add3bfa3395c4a7e8c8.1223445353.git.stephen@exigencecorp.com>
- In-Reply-To
- <c3ab1457d971985e349a0747178132c0c6f68b8a.1223445353.git.stephen@exigencecorp.com>
This seems like the best guess we can make until git sequencer marks are available. That being said, within the context of re-ordering a commit before its parent in todo, I think applying it on top of the current commit seems like a reasonable assumption of what the user intended.
Signed-off-by: Stephen Haberman <stephen@exigencecorp.com> --- git-rebase--interactive.sh | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 2e9270a..8a22d78 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -179,6 +179,15 @@ pick_one_preserving_merges () { if test -f "$REWRITTEN"/$p then new_p=$(cat "$REWRITTEN"/$p) + + # If the todo reordered commits, and our parent is marked for + # rewriting, but hasn't been gotten to yet, assume the user meant to + # drop it on top of the current HEAD + if test -z "$new_p" + then + new_p=$(git rev-parse HEAD) + fi + test $p != $new_p && fast_forward=f case "$new_parents" in *$new_p*)
-- 1.6.0.2