From: Jörg Sommer Date: Sun, 23 Mar 2008 21:42:42 GMT Subject: [PATCH 4/4] git-rebase -i: New option to support rebase with merges Message-ID: <1206308562-31489-4-git-send-email-joerg@alea.gnuu.de> In-Reply-To: <1206308562-31489-3-git-send-email-joerg@alea.gnuu.de> The option --preserve-merges does not allow to change the order of commits or squash them. The new option --linear-history does support this, but doing so it can only look at the commits reachable with through the first parent of each merge. Joining merge commits with other commits leads to problems, because git merge fails with a dirty index (the case “COMMIT squash MERGE”) and squashing a merge leads to the lost of the parents (case “MERGE squash COMMIT”). Therefore, I've prohibited these cases. Signed-off-by: Jörg Sommer --- Documentation/git-rebase.txt | 8 ++++ git-rebase--interactive.sh | 27 +++++++++++++++- t/t3404-rebase-interactive.sh | 72 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 1 deletions(-) I had no better idea for a name of this new option. Propositions are welcome. diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt index e0412e0..354b6f0 100644 --- a/Documentation/git-rebase.txt +++ b/Documentation/git-rebase.txt @@ -11,6 +11,7 @@ SYNOPSIS 'git-rebase' [-i | --interactive] [-v | --verbose] [-m | --merge] [-s | --strategy=] [-C] [ --whitespace=