From: Jakub Narebski Date: Tue, 03 Jun 2008 07:32:02 GMT Subject: Re: Octopus merge: unique (?) to git, but is it useful? Message-ID: <200806030932.03051.jnareb@gmail.com> In-Reply-To: On Tue, 3 June 2008, Linus Torvalds wrote: > > 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