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

Re: rsync deprecated but promoted?

From
BGBrian Gerst <bgerst@didntduck.org>
Date
Sep 26, 2005, 14:41 UTC
Message-ID
<433808B2.3070508@didntduck.org>
In-Reply-To
<20050926133204.GB21019@pasky.or.cz>
Petr Baudis wrote:
Show 49 quoted lines
> Dear diary, on Sun, Sep 25, 2005 at 09:06:37PM CEST, I got a letter
> where Martin Coxall <quasi@cream.org> told me that...
> 
>>On 25 Sep 2005, at 17:32, Zack Brown wrote:
>>
>>>Hi folks,
>>>
>>>When I use cogito, it gives a warning saying the rsync method is 
>>>deprecated and
>>>will be removed in the future. But when I visit kernel.org/git, the 
>>>page says to
>>>use an rsync URL with cg-clone.
>>>
>>>Maybe kernel.org should be updated?
>>>
>>
>>It does seem to be sending out a confusing message to us users too, 
>>since an initial clone of Linus's tree with rsync is on my machine 10x 
>>faster than an http clone, so it seems to be sending out something of a 
>>confused/confusing message re: rsync.
>>
>>Am I right in thinking it's because rsync didn't originally have pack 
>>support, but now it does, Petr has simply forgotten to deprecate the 
>>deprecation message?
> 
> 
> Nope. rsync always did packs, I actually un-deprecated it for the time
> period when HTTP didn't. The thing is, rsync is bad - it will happily
> put duplicate, redundant, and especially unwanted data to your
> repository, especially when the shared GIT repositories happen. HTTP and
> git-daemon are much better access methods in this regard - actually, I
> still like HTTP the most:
> 
> + Works everywhere - no special setup, no dedicated service, firewalls
> and proxies won't stop it
> + Works properly, i.e. only getting stuff you want, unlike rsync
> + Replicates packs setup - would be even better if it would kill objects
> and packs which the new pack makes redundant
> 
> 	It would be best to have some smarter git-prune-packed, which
> 	would process just a single pack. The other alternative would be
> 	that it would prune packs being subsets of other packs as well,
> 	but that scaled bad. I will write another mail about that.
> 
> - It is slow. Actually, I think it should be much faster for incremental
> fetches, and the initial fetch should take about the same time if you
> use packs. But the question is, did we already hit the limit? Are we
> using HTTP keepalive connections, do we parallelize the requests?
> 

The current HTTP fetch doesn't do asynchronous requests (using curl_multi_*). This means that no transfers occur while processing received objects.

The other problem with HTTP vs. rsync is that the HTTP fetch will walk the entire tree down to the root to verify it has every object. While this isn't a bad thing it's usually unnecessary when it's all in one big pack file.

--
				Brian Gerst
Previous: Petr BaudisNext: Petr Baudis
Message 5 of 26 in “rsync deprecated but promoted?”
  1. Zack BrownSep 25, 2005
  2. H. Peter AnvinSep 25, 2005
  3. Martin CoxallSep 25, 2005
  4. Petr BaudisSep 26, 2005
  5. Brian GerstSep 26, 2005
  6. Petr BaudisSep 26, 2005
  7. Brian GerstSep 26, 2005
  8. Linus TorvaldsSep 26, 2005
  9. Petr BaudisSep 26, 2005
  10. Linus TorvaldsSep 26, 2005
  11. Petr BaudisNov 10, 2005
  12. waltSep 26, 2005
  13. Linus TorvaldsSep 26, 2005
  14. waltSep 26, 2005
  15. Johannes SchindelinSep 26, 2005
  16. Junio C HamanoSep 26, 2005
  17. Daniel BarkalowSep 26, 2005
  18. Junio C HamanoSep 26, 2005
  19. Petr BaudisSep 26, 2005
  20. hared GIT repos (was Re: rsync deprecated but promoted?)Matthias Urlichs, Sep 27, 2005
  21. Junio C HamanoSep 27, 2005
  22. Matthias UrlichsSep 27, 2005
  23. Sergey VlasovSep 27, 2005
  24. Matthias UrlichsSep 27, 2005
  25. Linus TorvaldsSep 27, 2005
  26. A Large Angry SCMSep 27, 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.