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

cg-pull to pull branches, not the whole repository

From
PRPavel Roskin <proski@gnu.org>
Date
Sep 14, 2005, 21:31 UTC
Message-ID
<1126733516.10827.54.camel@dv>
Hello!

I believe cg-pull should be changed to pull only the objects relevant to the branch rather than the whole repository. This could be more expensive in terms of processor power (since the objects would be checked for parents), but it would save the bandwidth, especially for users tracking stable branches with little changes in presence of heavily changed development branches in the same repository.

To keep things simple, pulling the whole repository should be removed from cogito. Users don't need objects that are not reachable from any branch known to cogito. If I'm not tracking a branch, I don't want objects from it. To compensate for intermittently connected users, cg-pull could have an option to pull from all branches (or from all branches marked for automatic pull).

Ideally, cogito should not rely on the server being able to list directories. This would allow support more protocols and servers, e.g. http servers without directory listings. Unfortunately, listings are still needed to get refs/tags and refs/heads. Any fix for that would involve git core, and I don't see an elegant fix.

For git+ssh protocol, git-fetch-pack already provides a server side solution. Client side support would be needed for http and rsync.

I'd like to hear comments before I attempt any hacking in this direction.

-- 
Regards,
Pavel Roskin
Next: Junio C Hamano
Message 1 of 4 in “cg-pull to pull branches, not the whole repository”
  1. Pavel RoskinSep 14, 2005
  2. Junio C HamanoSep 14, 2005
  3. Pavel RoskinSep 16, 2005
  4. Petr BaudisSep 14, 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.