From: Jörg Sommer Date: Sat, 22 Mar 2008 01:19:42 GMT Subject: [PATCH] rebase with preserve merges should not show merged commits Message-ID: <1206148785-29466-1-git-send-email-joerg@alea.gnuu.de> The current version of git-rebase--interactive shows the user the commits coming from a merge. M---A---B \ \ o---o---+---o branch Rebasing branch on M with preserve merges gives the commits A and B. But if you mark them for editing or remove them the rebase fails. You must keep them as they are. It's useless to bother the user with these commits and might lead to mistakes. Signed-off-by: Jörg Sommer --- git-rebase--interactive.sh | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 8aa7371..3879841 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -162,6 +162,8 @@ pick_one_preserving_merges () { new_parents="$new_parents $new_p" ;; esac + else + new_parents="$new_parents $p" fi done case $fast_forward in @@ -523,7 +525,7 @@ do SHORTONTO=$(git rev-parse --short $ONTO) git rev-list $MERGES_OPTION --pretty=oneline --abbrev-commit \ --abbrev=7 --reverse --left-right --cherry-pick \ - $UPSTREAM...$HEAD | \ + --first-parent $UPSTREAM...$HEAD | \ sed -n "s/^>/pick /p" > "$TODO" cat >> "$TODO" << EOF -- 1.5.4.4