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

Re: [RFC/PATCH] Fast forward strategies allow, never, and only

From
BSBruce Stephens <bruce.stephens@isode.com>
Date
Mar 11, 2008, 12:24 UTC
Message-ID
<80r6eho3cs.fsf@tiny.isode.net>
In-Reply-To
<20080311093553.23191.qmail@science.horizon.com>
colin@horizon.com writes:
>> What's lacking is "why this is a good idea".
[...]
Show 11 quoted lines
> .. and it never ends.  All of the merged commits are identical trees, but
> if you insist on creating a new commit object each time, you can generate
> an infinite number of bogus commits, and more to the point, A and B will
> never actually agree on the current HEAD commit.
>
> With more developers, you can make even more of a mess.
>
> What use does the "--ff=never" option have except to generate this cruft?
> Flexibility is useful only as long as it provides the ability to do
> something desirable.  There's no point to having a button that should
> never be pushed.

IIUC what the new option is about is (optionally) forbidding merges. So it's orthogonal to the existing --no-ff and --ff merge options.

So you *don't* get that kind of criss-crossing: if you've got a local commit, the merge fails. So you have to use rebase. So it's not making the history more complex, it's linearizing it.

Now surely you don't always want to do that, but it seems like a very convenient option that you can generally have on, and switch off when you intend to do a merge.

Previous: Lars HjemliNext: Bruce Stephens
Message 3 of 5 in “Re: [RFC/PATCH] Fast forward strategies allow, never, and only”
  1. colin@horizon.comMar 11, 2008
  2. Lars HjemliMar 11, 2008
  3. Bruce StephensMar 11, 2008
  4. Bruce StephensMar 11, 2008
  5. Junio C HamanoMar 12, 2008

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.