git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.
Previous: Lars HjemliNext: Lars Hjemli
Message 25 of 34 in “git-merge: add option --no-ff”
  1. git-merge: add option --no-ffLars Hjemli, Sep 17, 2007
  2. Andreas EricssonSep 17, 2007
  3. Lars HjemliSep 17, 2007
  4. Johannes SchindelinSep 17, 2007
  5. Chris ShoemakerSep 17, 2007
  6. Lars HjemliSep 17, 2007
  7. Johannes SchindelinSep 17, 2007
  8. Lars HjemliSep 17, 2007
  9. Johannes SchindelinSep 17, 2007
  10. Lars HjemliSep 17, 2007
  11. Johannes SchindelinSep 17, 2007
  12. Lars HjemliSep 17, 2007
  13. git-merge: add option --no-ffLars Hjemli, Sep 17, 2007
  14. Eric WongSep 18, 2007
  15. Junio C HamanoSep 18, 2007
  16. Eric WongSep 18, 2007
  17. Lars HjemliSep 18, 2007
  18. Eric WongSep 18, 2007
  19. Junio C HamanoSep 18, 2007
  20. Sam VilainSep 18, 2007
  21. Sam VilainSep 18, 2007
  22. Lars HjemliSep 18, 2007
  23. Sam VilainSep 18, 2007
  24. Lars HjemliSep 18, 2007
  25. Sam VilainSep 18, 2007
  26. Lars HjemliSep 18, 2007
  27. Sam VilainSep 18, 2007
  28. Johannes SchindelinSep 18, 2007
  29. Lars HjemliSep 18, 2007
  30. Lars HjemliSep 18, 2007
  31. Peter BaumannSep 18, 2007
  32. Lars HjemliSep 19, 2007
  33. Chris ShoemakerSep 17, 2007
  34. Lars HjemliSep 17, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.