{"thread":{"id":"18441","subject":"[PATCH] rebase -p: Preserve --no-ff merges","startedAt":"2009-03-20T20:38:22Z","lastAt":"2009-03-20T22:04:25Z","messageCount":2,"participants":["Anders Kaseorg","Johannes Schindelin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"108759","messageId":"alpine.DEB.2.00.0903201633440.4457@vinegar-pot.mit.edu","threadId":"18441","inReplyTo":null,"subject":"[PATCH] rebase -p: Preserve --no-ff merges","fromName":"Anders Kaseorg","fromEmail":"andersk@mit.edu","sentAt":"2009-03-20T20:38:22Z","receivedAt":"2009-03-20T20:38:22Z","isPatch":true,"sender":{"key":"andersk@mit.edu","avatar":"https://avatars.githubusercontent.com/u/26471?v=4"},"body":"Previously, git rebase -p would turn some merges that had been constructed \nwith git merge --no-ff into fast-forwards.  Now it reconstructs those \nmerges using --no-ff as well.\n\nSigned-off-by: Anders Kaseorg <andersk@mit.edu>\n---\n git-rebase--interactive.sh |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh\nindex 3dc659d..39545cc 100755\n--- a/git-rebase--interactive.sh\n+++ b/git-rebase--interactive.sh\n@@ -275,7 +275,7 @@ pick_one_preserving_merges () {\n \t\t\tif ! GIT_AUTHOR_NAME=\"$GIT_AUTHOR_NAME\" \\\n \t\t\t\tGIT_AUTHOR_EMAIL=\"$GIT_AUTHOR_EMAIL\" \\\n \t\t\t\tGIT_AUTHOR_DATE=\"$GIT_AUTHOR_DATE\" \\\n-\t\t\t\toutput git merge $STRATEGY -m \"$msg\" \\\n+\t\t\t\toutput git merge --no-ff $STRATEGY -m \"$msg\" \\\n \t\t\t\t\t$new_parents\n \t\t\tthen\n \t\t\t\tprintf \"%s\\n\" \"$msg\" > \"$GIT_DIR\"/MERGE_MSG\n-- \n1.6.2\n"},{"id":"108764","messageId":"alpine.DEB.1.00.0903202300360.6865@intel-tinevez-2-302","threadId":"18441","inReplyTo":"alpine.DEB.2.00.0903201633440.4457@vinegar-pot.mit.edu","subject":"Re: [PATCH] rebase -p: Preserve --no-ff merges","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-20T22:04:25Z","receivedAt":"2009-03-20T22:04:25Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 20 Mar 2009, Anders Kaseorg wrote:\n\n> Previously, git rebase -p would turn some merges that had been constructed \n> with git merge --no-ff into fast-forwards.  Now it reconstructs those \n> merges using --no-ff as well.\n> \n> Signed-off-by: Anders Kaseorg <andersk@mit.edu>\n> ---\n\nFirst, could I ask you to hold off with patches for rebase -p for a little \nwhile?  I did a _lot_ of work on rebase -p recently, but it has not \nreached a state that I can submit yet without being ashamed.\n\nAnother thing to keep in mind is that some merges do _not_ want to be \npreserved.  IOW if you have a history like this:\n\n- A - B\n    \\   \\\n      C - D - E\n\nAnd your upstream cherry-picked B, after a rebase you are most likely to \nwant\n\n- A' - C' - E'\n\nas a result (rather than\n\n- A' - --\n     \\    \\\n       C' - D' - E'\n\nwhich would be rather awkward).\n\nCiao,\nDscho\n\nP.S.: FWIW you can see my work as part of my 'master' in \nhttp://repo.or.cz/w/git/dscho.git/\n"}]}