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

Re: Could this be done simpler?

From
Christian Couder <chriscool@tuxfamily.org>
Date
Jun 25, 2009, 22:23 UTC
Message-ID
<200906260023.03169.chriscool@tuxfamily.org>
In-Reply-To
<200906260002.40531.chriscool@tuxfamily.org>
On Friday 26 June 2009, Christian Couder wrote:
Show 33 quoted lines
> On Thursday 25 June 2009, Junio C Hamano wrote:
> > Side note.
> >
> > People sometimes say, and I am certain I agreed to them on more than
> > one occasions, that Octopus hurt bisectability and does not have much
> > value in real life.  I've always thought this bisectability issue was a
> > downside of Octopus merges, but now I think about it, perhaps "git
> > bisect" can be taught to dynamically decompose an Octopus merges into a
> > sequence of two-head virtual merges while bisecting.  We strongly
> > discourage and do not allow conflicting Octopus merges, so when you
> > need to bisect a history with an Octopus that looks like this:
> >
> >     ---o---A
> >             \
> >   ---o---B---M---o
> >             /
> >     ---o---C
> >
> > it should be able to mechanically decompose it, without conflicts, into
> >
> >
> >     ---o---A
> >             \
> >   ---o---B---M1--M2--o
> >                 /
> >         ---o---C
> >
> > where the tree of M and the tree of M2 are identical.
>
> If someone creates a "git decompose-octopus <commit>" command then you
> only need to do "git replace M M2" after that and you can bisect as
> usual. (Of course after that you can remove the replacement with "git
> replace -d M".)

(Or if we make the "refs/replace/bisect/" directory special so that it is only used when bisecting, and if the replace ref is created in this directory, then no need to remove the replacement ref. On the contrary it's better to leave it there so that people who fetch it benefit from it too.)

Best regards, Christian.

Previous: Christian CouderNext: Junio C Hamano
Message 11 of 15 in “Could this be done simpler?”
  1. Linus TorvaldsJun 24, 2009
  2. Junio C HamanoJun 25, 2009
  3. Randal L. SchwartzJun 25, 2009
  4. Matthias AndreeJun 25, 2009
  5. Junio C HamanoJun 25, 2009
  6. Matthias AndreeJun 25, 2009
  7. Junio C HamanoJun 27, 2009
  8. Junio C HamanoJun 25, 2009
  9. Michael J GruberJun 25, 2009
  10. Christian CouderJun 25, 2009
  11. Christian CouderJun 25, 2009
  12. Junio C HamanoJun 25, 2009
  13. Linus TorvaldsJun 25, 2009
  14. Junio C HamanoJun 25, 2009
  15. Christian CouderJun 25, 2009

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.