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

Re: kernel.org now has gitweb installed

From
David Woodhouse <dwmw2@infradead.org>
Date
Apr 28, 2005, 09:23 UTC
Message-ID
<1114680199.12012.363.camel@baythorne.infradead.org>
In-Reply-To
<1114676955.12012.346.camel@baythorne.infradead.org>
On Thu, 2005-04-28 at 09:29 +0100, David Woodhouse wrote:
Show 9 quoted lines
> Let us assume that C and A were already in Linus' tree (and on our web
> page) yesterday. Thus, they should be last. The newly-pulled stuff
> should be first -- FEDBCA.
> 
> I'd say "depth-first, remote parent first" but that would actually show
> show 'A' (as a parent of D) long before it shows C. Walking of remote
> parents should stop as soon as we hit a commit which was accessible
> through a more local parent, rather than as soon as we hit a commit
> which we've already printed.

Walk the tree once. For each commit, count the number of _children_. That's not hard -- each new commit you find below HEAD has one child to start with, then you increment that figure by one each time you find another path to the same commit.

When printing, you walk the tree depth-first, remote-parent-first. If you hit a commit with multiple children, decrement its count by one. If the count is still non-zero, ignore that commit (and its parents) and continue. If the count _is_ zero, then this is the "most local" path to the commit in question, so print it and continue to process its parents...

(Actually I'd probably do it by adding real pointers to the children instead of using a counter. Operations like convert-cache would be far better off working that way round, and 'cg comments' is going to need to do something very similar to convert-cache.)

-- 
dwmw2
Previous: David WoodhouseNext: Linus Torvalds
Message 6 of 23 in “kernel.org now has gitweb installed”
  1. H. Peter AnvinApr 28, 2005
  2. Daniel JacobowitzApr 28, 2005
  3. David WoodhouseApr 28, 2005
  4. Petr BaudisApr 28, 2005
  5. David WoodhouseApr 28, 2005
  6. David WoodhouseApr 28, 2005
  7. Linus TorvaldsApr 28, 2005
  8. David WoodhouseApr 28, 2005
  9. Linus TorvaldsApr 28, 2005
  10. David WoodhouseApr 28, 2005
  11. H. Peter AnvinApr 28, 2005
  12. H. Peter AnvinApr 28, 2005
  13. Linus TorvaldsApr 28, 2005
  14. David WoodhouseApr 28, 2005
  15. Jan HarkesApr 29, 2005
  16. Junio C HamanoApr 28, 2005
  17. David WoodhouseApr 28, 2005
  18. Junio C HamanoApr 28, 2005
  19. Linus TorvaldsApr 28, 2005
  20. Gerhard SchrenkApr 28, 2005
  21. David WoodhouseApr 28, 2005
  22. Junio C HamanoApr 28, 2005
  23. Linus TorvaldsApr 28, 2005

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.