On Thu, May 31, 2012 at 5:27 PM, Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote: > On Wed, May 30, 2012 at 11:54 PM, Jeff King <peff@xxxxxxxx> wrote: >> On Wed, May 30, 2012 at 07:07:39PM +0200, Felipe Contreras wrote: >> >>> On Mon, May 28, 2012 at 9:06 PM, Jeff King <peff@xxxxxxxx> wrote: >>> > On Mon, May 28, 2012 at 02:36:04PM +0200, Felipe Contreras wrote: >>> > >>> >> > What about a history with multiple branches? >>> >> > >>> >> > --X--A--B--C--D----E (master) >>> >> > \ / >>> >> > G--H--I---J (branch X) >>> >> > \ / >>> >> > K--L (branch Y) >>> >> [...] >>> >> >>> >> Yes, but then you would need to specify a second branch. I would avoid >>> >> that if possible. >>> > >>> > I agree that is less nice. But I don't think the operation is >>> > well-defined with a single branch. If you ask for "when did branch X >>> > split", then in the above graph it is unclear if you meant "split from >>> > master", or "split from Y". >>> >>> If you look from the context that I explained in the first mail; it >>> would be from *any* branch; IOW; find the first commit from branch X >>> (G), and then find the parent. That would be the first commit where >>> branch X started. >> >> I'm not sure that's possible, though, in the face of criss-cross merges. >> How do we distinguish the history above from one in which branch Y was >> forked from master at G, and then branch X was forked from branch Y at >> H? > > That is true, but we could use the algorithm used by name-rev: G would > have a distance 3 from branch X, and distance 2 from Y, so it would be > considered part of branch Y. Er, actually that would list X as branch Y. Now I believe there is a real problem. However, I don't believe mercurial branch labels are the solution; probably a pointer to the tail of the branch would provide with all the information needed. Cheers. -- Felipe Contreras -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html