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

Re: Efficiency of initial clone from server

From
Jon Smirl <jonsmirl@gmail.com>
Date
Feb 12, 2007, 05:55 UTC
Message-ID
<9e4733910702112155m3f5da9abgbeb2b6783005296f@mail.gmail.com>
In-Reply-To
<7vzm7k9c3c.fsf@assigned-by-dhcp.cox.net>
On 2/12/07, Junio C Hamano <junkio@cox.net> wrote:
Show 20 quoted lines
> "Jon Smirl" <jonsmirl@gmail.com> writes:
>
> > On 2/11/07, Jon Smirl <jonsmirl@gmail.com> wrote:
> >> Same thing with cg clone, it's what is broken.
> >> cg update is broken in the same way.
> >> I'm using the current git version of cogitio.
> >> I'll switch to the git commands, git clone is about 10x faster for the
> >> clone anyway.
> >
> > Don't read anything into the 10x speed diff, my last git clone was
> > really slow. I'm probably fighting other people at kernel.org to keep
> > the tree in RAM.
> >
> > But pack to the original point, can't the server check and see if it
> > has write access so that it can keep the fully packed tree? I've just
> > caused kernel.org to needlessly repack the wireless-dev tree a dozen
> > times playing with this clone command. If it didn't have to keep
> > repacking for the clone, clone would be a lot faster.
>
> You are assuming everybody does initial clone all the time.  I

Why not use an initial clone as a trigger for a repack? Given the thousands of people playing with trees on kernel.org it must happen quite a bit. Add a log message to the server and we can find out for sure.

I am guilty of doing initial clones for different kernel trees from kernel.org when I could be doing a local clone of linus' tree and then pulling the deltas from kernel.org. But I'm lazy, I just kick the clone off in the background and it finishes in three or four minutes. I also do the clones when I have messed my local trees up so much that I don't know what is in them anymore.

> do not think that holds true in practice.

git experts can avoid almost all of the clones, but most people don't learn enough about git to avoid them.

For example, I've been using git for quite a while now and I still haven't bother to figure out how to do this: start with a local clone of linus' tree, now I want to pull the wireless-dev tree into the same local tree as another branch. And maybe pull the wireless-2.6 into yet another branch. Then can I pull updates from all of my remote repositories with a single command?

Show 9 quoted lines
>
> For something like tglx historical tree that will _never_
> change, there is a specific hack the repository owner can take
> advantage of to always feed a prepackaged pack, although its use
> is not advertised well enough (and I do not think it buys much
> in practice).
>
>
>
-- 
Jon Smirl
jonsmirl@gmail.com
Previous: Junio C HamanoNext: Junio C Hamano
Message 23 of 32 in “Efficiency of initial clone from server”
  1. Jon SmirlFeb 11, 2007
  2. Shawn O. PearceFeb 11, 2007
  3. Jon SmirlFeb 11, 2007
  4. Jon SmirlFeb 11, 2007
  5. Nicolas PitreFeb 12, 2007
  6. Jon SmirlFeb 12, 2007
  7. Nicolas PitreFeb 12, 2007
  8. Shawn O. PearceFeb 12, 2007
  9. Nicolas PitreFeb 12, 2007
  10. Junio C HamanoFeb 12, 2007
  11. Jon SmirlFeb 12, 2007
  12. Junio C HamanoFeb 12, 2007
  13. Jon SmirlFeb 12, 2007
  14. Jon SmirlFeb 12, 2007
  15. Shawn O. PearceFeb 12, 2007
  16. Jon SmirlFeb 12, 2007
  17. Nicolas PitreFeb 12, 2007
  18. Theodore TsoFeb 12, 2007
  19. Junio C HamanoFeb 12, 2007
  20. Nicolas PitreFeb 12, 2007
  21. Jakub NarebskiFeb 13, 2007
  22. Junio C HamanoFeb 12, 2007
  23. Jon SmirlFeb 12, 2007
  24. Junio C HamanoFeb 12, 2007
  25. Jon SmirlFeb 12, 2007
  26. Jon SmirlFeb 12, 2007
  27. Shawn O. PearceFeb 12, 2007
  28. Johannes SchindelinFeb 12, 2007
  29. Jon SmirlFeb 12, 2007
  30. Shawn O. PearceFeb 12, 2007
  31. Andreas EricssonFeb 13, 2007
  32. Jon SmirlFeb 11, 2007

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.