From: Stephen Haberman Date: Wed, 08 Oct 2008 06:41:57 GMT Subject: [PATCH v2 RFC] rebase-i-p: if todo was reordered use HEAD as the rewritten parent Message-ID: <211dfcea6f13f8ddb3153add3bfa3395c4a7e8c8.1223445353.git.stephen@exigencecorp.com> In-Reply-To: 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 --- 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