Re: Octopus merge: unique (?) to git, but is it useful?
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Jun 3, 2008, 07:32 UTC
- Message-ID
- <200806030932.03051.jnareb@gmail.com>
- In-Reply-To
- <alpine.LFD.1.10.0806021845210.3473@woody.linux-foundation.org>
On Tue, 3 June 2008, Linus Torvalds wrote:
Show 10 quoted lines
> > On Tue, 3 Jun 2008, Jakub Narebski wrote: >> >> I think that octopus merge (merge with more than two parents/legs) is >> feature which is unique to git (isn't it?). Do you remember perhaps >> why it was introduced? > > Well, mainly because the data structures supported the notion naturally. > > Once you have 0, 1 or 2 parents, the logical progression is "many".
Well, it of course depends on design. For example Mercurial (from what I have read in the documentation) has fixed width (two element) parents array in revflog structure. Commit can have no parents (root commit), one parent, or two parents. There is no place (again: AFAIK) for octopus[*1*] merge.
Footnotes:
==========
[*1*] I assume that this kind of merge is called 'octopus' because it
has more than two "legs" (parents), and not for example because
first such merge had 8 parents?-- Jakub Narebski Poland