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

Re: Change set based shallow clone

From
Llinux@horizon.com <linux@horizon.com>
Date
Sep 9, 2006, 10:31 UTC
Message-ID
<20060909103157.23388.qmail@science.horizon.com>
Show 11 quoted lines
> If the out of order revisions are a small amount of the total then
> could be possible to have something like
> 
> git rev-list --topo-order --with-appended-fixups HEAD
> 
> Where, while git-rev-list is working _whithout sorting the whole tree
> first_, when finds an out of order revision stores it in a fixup-list
> buffer and *at the end* of normal git-rev-lsit the buffer is flushed
> to receiver, so that the drawing logic does not change and the out of
> order revisions arrive at the end, already packed, sorted and prepared
> by git-rev-list.

I don't think I understand your proposal. The problem arises when git-rev-list finds a commit that it should have listed before something that it has already output.

Just for example:

Commit D: Ancestor B Commit B: Ancestor A Commit C: Ancestor B

Commit C is the problem, because if git-rev-list has already output B, there's no way to back up and insert it in the right place.

How is waiting to output the already-behind-schedule commit C going to help anything? The idea in gitk is to rewind the layout algorithm to before B was added, insert C, and replay from there. This is most efficient if C is encountered as soon after its correct place as possible.

Next: Marco Costalba
Message 1 of 2 in “Re: Change set based shallow clone”
  1. linux@horizon.comSep 9, 2006
  2. Marco CostalbaSep 9, 2006

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.