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

Re: Consistency question

From
David Kastrup <dak@gnu.org>
Date
Jan 15, 2014, 13:00 UTC
Message-ID
<87ppnt7635.fsf@fencepost.gnu.org>
In-Reply-To
<20140115124434.GA27030@inner.h.apk.li>
Andreas Krey <a.krey@gmx.de> writes:
Show 10 quoted lines
> On Wed, 15 Jan 2014 12:40:29 +0000, David Kastrup wrote:
> ...
>> With a single root, "depth" helps a lot.  When looking for a common
>> parent of a number of commits, you first shorten all ancestries to the
>> same size and then you can look for the point of convergence in
>> lockstep.
>
> Hmm, how about traversing from all the start commits downwards
> simultaneously, noting which start you say each commit from, and stopping
> when you have a commit carrying all start labels?

It means that when the start commits are at considerably different depth, you'll traverse much more material than necessary.

Also you need labels.
> I don't quite see how the same size plus lockstep works out (but the
> 'same size' part is possibly the same as my 'concurrent traversal').

It just equalizes the depth before starting, so you don't need labels: any common ancestor is reached at the same time by its descendants.

Of course, I conveniently forgot merge commits. This scheme works out of the box only with single parenting. And it works fine without a common ancestor, too: you just run into a NULL pointer at the same time when there isn't one.

So, uh, this solution does not really seem to match the problem...
-- 
David Kastrup
Previous: Andreas KreyNext: Andreas Krey
Message 5 of 8 in “Consistency question”
  1. David KastrupJan 15, 2014
  2. Jeff KingJan 15, 2014
  3. David KastrupJan 15, 2014
  4. Andreas KreyJan 15, 2014
  5. David KastrupJan 15, 2014
  6. Andreas KreyJan 15, 2014
  7. David KastrupJan 15, 2014
  8. Mike HommeyJan 18, 2014

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.