Re: [PATCH] git-merge: add option --no-ff
- From
Sam Vilain <sam@vilain.net>
- Date
- Sep 18, 2007, 13:22 UTC
- Message-ID
- <46EFD0F8.5050603@vilain.net>
- In-Reply-To
- <8c5c35580709180503g24ef6c5hda2877e2215ba58d@mail.gmail.com>
Lars Hjemli wrote:
Show 31 quoted lines
> [...sorry for making this such a long thread...] > > On 9/18/07, Sam Vilain <sam@vilain.net> wrote: > >> Lars Hjemli wrote: >> >>> On 9/18/07, Sam Vilain <sam@vilain.net> wrote: >>> >>> >>>> I think that writing a real fast-forward merge should only happen on >>>> dcommit, not git merge, because that is what is required for SVN. >>>> >>>> >>> I don't think git-svn has any way of knowing that the user wanted a >>> merge, unless a merge commit is present. So the user would have to >>> specify the set of commits which should be considered a merge during >>> dcommit (this would actually resemble how merges are performed in >>> subversion). >>> >>> >> Sure it can. If you're committing to branch X, and the current tree has >> a whole lot of commits above that, then it should do the only thing you >> can do with SVN. >> >> Which is write a squash commit, and set the "svn:merge" and/or >> "svk:merge" properties to represent what happened. >> > > I often have prepared a series of local commits which I _want_ to > preserve as different subversion revisions. >
But for the scenario we are discussing the revisions already exist upstream otherwise there would be no fast forward merge. So, if you want that behaviour you can use cherry-pick on the git side and the correct behaviour for git-svn is to write svn merge properties.
> Also, doing a --squash means that I loose the merge history in git > (and then I need to edit the grafts file again) >
There is no merge history in git, it was a fast forward.
Show 9 quoted lines
>>> Sidenote: this might be slightly controversial, but I've sometimes >>> missed a --no-ff option to 'git merge' when working on plain git >>> repositories; IMHO preserving the 'logical' merge history when the >>> merge of a topic branch results in a fast-forward can be interesting. >>> >> If you really want one, use git commit-tree directly. >> > Yeah, that's an option, but --no-ff is somewhat less work ;-) >
Sure. I just don't see a good use case for it from this yet.
Sam.