cvs i svn, było: Re: persistent lock in /cvsroot/SPECS
Michal Moskal
malekith at pld-linux.org
Sun May 16 23:40:11 CEST 2004
On Sun, May 16, 2004 at 11:31:04PM +0200, Jakub Bogusz wrote:
> On Sun, May 16, 2004 at 11:16:20PM +0200, wrobell wrote:
> > wylistowanie wszystkich tagow w svn-ie:
> > svn ls file:///repo/projekt/tags
> > da sie latwiej w cvs-ie?
>
> cvs stat -v
> (tylko trzeba by odfiltrować; ale nie wiem ile informacji podaje svn
> ls)
[malekith at roke SPECS]$ cvs stat -v|grep File|wc
cvs server: Examining .
36 161 1617
[malekith at roke SPECS]$
svn ls pokazałoby wszystkie pliki w repo, a nie tylko te lokalnie
checkoutnięte (to sobie mogę ls zwykłym zrobić).
> > zrobienie taga w svn-ie (oczywiscie to jedna z mozliwosci)
> > svn cp file://repo/projekt/trunk file://repo/projekt/tags/new-tag
> > wszystko sie dzieje po stronie serwera. da sie szybciej w cvs-ie?
>
> To cp fizycznie kopiuje pliki, czy to tylko umowna nazwa polecenia?
Robi coś w rodzaju twardego linka (do pliku w danej rewizji repo). Repo
jest w ogóle trzymane jako dag kolejnych rewizji.
> > 3. ,,lekkie'' operacje:
> > np.:
> >
> > svn diff
> >
> > i kilka innych operacji jest wykonywane po stronie klienta bez udzialu serwera
> > (cvs zawsze musi siegnac do serwera, co jest upierdliwe)
>
> Czyli svn przechowuje też oryginalne wersje plików po stronie klienta
> oprócz tych, które się obrabia?
Tak.
> Jak dużo swoich rzeczy dokłada do właściwych danych po stronie klienta?
Na każdy katalog kilka dodatkowych katalogów. Na każdy plik 3 małe
(kilkanaście bajtów) pliki, oraz kopia. Dodatkowo kilka plików na
katalog.
Zasadniczo przy zwykłych projektach (nie SPECS/SOURCES) to nie jest
problem -- *.o i podobne zajmują znacznie więcej. A wygoda związana z
szybkim svn diff (oraz svn status, które pokazuje listę zmodyfikowanych
lokalnie plików) jest ogromna.
--
: Michal Moskal :: http://www.kernel.pl/~malekith :: GCS !tv h e>+++ b++
: When in doubt, use brute force. -- Ken Thompson :: UL++++$ C++ E--- a?
More information about the pld-devel-pl
mailing list