On Tue, Jun 08, 2004 at 07:20:45PM +0300, George Danchev wrote: > On Monday 07 June 2004 14:33, Peter Pentchev wrote: > --кръц-- > > Само да отворя една скобичка за малко вметване: CVSup също изобщо не е > > лош вариант, стига този, от когото mirror-ваш, да е съгласен да си пусне > > CVSup сървърче. Такива напоследък се нароиха доста, защото CVSup вече > > CVSup е много добра утил-ка. > Ама в случая не идваше на питащия да му предлагам cvsup ;-) > > > не е само начинът на mirror-ване на FreeBSD; има още поне 3-4 големи > > open source проекта, които използват това за своите мрежи. Като > > количество прехвърлен трафик CVSup е на нивото на rsync, а според някои > > Е CVS протокола е с пъти по-тежък/усложнен от rsync протокола и това е защото > cvs протокола е предвиден да се разправя с rcs-files/versioning/tags/alabala. > Това е едно от големите му недостатъци и вероятно причина да се измислят > по-ефективни протоколи като SVN.
Чакай, чакай... нали не мислиш, че CVSup използва същия протокол, който се използва между CVS клиент и CVS сървър при check-in, check-out, log, status и т.н.? :) Всъщност двете нямат нищо, ама нищо общо :) Когато CVSup установи, че това, което прехвърля, е RCS/CVS version file, то "по жицата" се прехвърля много бързо информация за това кои revisions, tags, branches има при клиента, и ако при сървъра няма нищо друго, не се прави нищо. Ако се окаже, че има разлики, се предават само разликите *като diffs*, т.е. като RCS revision info. Според мен това би могло да бъде много по-бързо от опитите на rsync да намери разликите във файловете по една проста причина: CVSup вече *знае* точно къде са разликите във файловете, точно от кое отместване във файла започват, къде свършват и т.н., и изобщо не се опитва да сравнява останалите части от файловете. Е, накрая се прави някаква checksum, за да се убедят клиентът и сървърът, че наистина имат един и същи файл де :) Като цяло rsync протоколът е замислен за минимално количество мрежов трафик *без никаква информация за съдържанието на файловете*, затова на моменти използва доста интересни алгоритми (това с rolling checksum е *прекрасна* идея), някои от които са описани в technical report-а на http://rsync.samba.org/tech_report/ Това е много хубаво, когато наистина никой не знае нищо за файловете, но според мен (а явно и според John Polstra) допълнителната информация, съдържащата се в headers на RCS files, може да спести доста анализ и претърсване за съвпадащи блокове. > А за non-rcs-files CVSup използва rsync протокола, явно собствена > имплементация, а не направо librsync(3) явно поради езикови различия. > Така, че както в случая се джиткат non-rcs-files, и се използва rsync > протокола/алгоритъма, то аз лично предпочитам да използвам програмата rsync. Can't argue with that.. или поне в момента няма да се опитвам :P Поздрави, Петър -- Peter Pentchev [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553 I am the meaning of this sentence.
pgpKBzz0UMr5d.pgp
Description: PGP signature
