Jaké jsou výhody používání SVN přes CVS?

hlasů
56

Moje firma používá CVS jako naše de-facto standard pro řízení zdrojů. Nicméně, jsem slyšel hodně lidí říká, že SVN je lepší.

Znám SVN je novější, ale kromě toho, že jsem obeznámen s jejími výhodami.

To, co jsem hledal je dobrý, stručné srovnání těchto dvou systémů, a upozorňuje, veškeré výhody a nevýhody každého z nich ve vývojovém prostředí Java / Eclipse.

Položena 04/08/2008 v 15:06
zdroj uživatelem
V jiných jazycích...                            


12 odpovědí

hlasů
54

CVS sleduje pouze změny v souboru jednotlivém základě souboru, zatímco SVN sleduje celý commit jako nová revize, což znamená, že je snazší sledovat historii projektu. Přidejte k tomu, že všechny moderní řídicí source software používat pojem revize, takže je mnohem snazší migraci z SVN, než je z CVS.

K dispozici je také atomový commitu problém. I když jsem to jen jednou setkal, je možné, že 2 osoby, které se dopustí společně CVS může dostat do konfliktu mezi sebou, ztratí některé údaje a uvedení svého klienta v nekonzistentním stavu. Když včas odhalený, tyto problémy nejsou zásadní, protože vaše data jsou stále někde tam venku, ale to může být bolest v stresovém prostředí.

A nakonec, není mnoho nástrojů, které jsou vyvinuty kolem CVS už ne. Zatímco nové a lesklé, nové nástroje, jako je Git a Mercurial rozhodně chybí nástroje přesto, SVN má docela velkou základnu aplikací na jakémkoli systému.

EDIT 2015 : Vážně, tato odpověď je nyní 7 let. Zapomeňte na SVN, jděte používat Git jako všichni ostatní!

Odpovězeno 04/08/2008 v 15:17
zdroj uživatelem

hlasů
18

Jednou z mnoha srovnání:

http://wiki.scummvm.org/index.php/CVS_vs_SVN

Nyní je to velmi specifické pro tento projekt, ale spousta věcí platí přesně obecně.

Pro Subversion:

  • Podpora s verzí přejmenuje / přesune (nelze s CVS): Fingolfin, Ender
  • Podpora adresářů nativně: Je možné, že k jejich odstranění, a jsou opatřeny verzí: Fingolfin, Ender
  • Vlastnosti souboru jsou verzí; nic víc „spustitelný bit“ peklo: Fingolfin
  • Celkový počet revize činí sestavení verzí a regresní testování mnohem jednodušší: Ender, Fingolfin
  • Atomový zavazuje: Fingolfin
  • Intuitivní (adresář-based) větvení a značkování: Fingolfin
  • Snadnější hákové skripty (pre / post commit, atd): SumthinWicked (I použít pro Doxygen po commitů)
  • Zabraňuje náhodnému spáchání střetl souborů: Salty-koně, Fingolfin
  • Podpora příkazu na zakázku ‚diff‘: Fingolfin
  • Offline diffs, a oni jsou okamžité: SEV
Odpovězeno 04/08/2008 v 15:09
zdroj uživatelem

hlasů
14

SVN má 3 hlavní výhody oproti CVS

  • je to rychlejší
  • Podporuje verzování binárních souborů
  • a přidává transakční spáchat (všechno nebo nic)
Odpovězeno 04/08/2008 v 15:35
zdroj uživatelem

hlasů
7

Subversion Kniha má dodatek , který podrobně významné rozdíly od CVS, které vám mohou pomoci, aby vaše rozhodnutí. Oba přístupy jsou více či méně stejný nápad, ale SVN byl speciálně navržen tak, aby opravit dlouhou dobu považována za chyby v CVS tak, alespoň teoreticky, bude SVN vždy lepší volbou.

Odpovězeno 04/08/2008 v 15:14
zdroj uživatelem

hlasů
4

Jedna věc, kterou nelze přehlédnout, je ekosystém. Pracoval jsem v obchodě CVSNT, a byl jsem najít více open source nástrojů podporovaných Subversion ve výchozím nastavení.

Odpovězeno 18/08/2008 v 18:22
zdroj uživatelem

hlasů
2

Jako někdo, kdo je ve středu přepínání mezi CVS a SVN (původně jsme přešli všech našich projektů s cvs2svn a pak se rozhodl, že by přechod od pouze pomocí svn na nové projekty), zde jsou některé z problémů, jsme měli.

  • Slučování a větvení jsou velmi odlišné, a když se větvit a sloučit často, pokud máte SVN 1,5 běží na serveru musí vědět, kdy jste rozvětvené (to není příliš jasné, v dialozích Tortoise SVN). Michael říká, že větvení a slučování je intuitivní, bych si dovolil tvrdit, že po použití CVS po dobu 10 let, není tomu tak.
  • Pokud váš běží na serveru SVN v systému Linux, může být těžké se dostat vaše SA přestěhovat do SVN 1.5, protože výchozí instalace 1.4.x.
  • Sloučení konflikty není zdaleka tak jednoduché, nebo jako čirý (alespoň pro mě a mých spolupracovníků) v TortoiseSVN, protože je v TortoiseCVS. Tři tabule přístup bere zvyknout a WinMerge (moje přednost merge tool) nedělá sloučení tři tabule.
  • Pozor: mnohé z on-line výukových programů a časopiseckých článků jsem četl samozřejmě nejsou větev a sloučit, měli byste nastavit hlavní úložiště jako https://svn.yoursvnserver.com/repos/YourProject/Trunk a větve na https: / /svn.yoursvnserver.com/repos/YourProject/Branches/BranchX . Můžete vyčistit, když začnete své repo na špatném místě, ale to vede ke zmatku.
Odpovězeno 04/09/2008 v 18:44
zdroj uživatelem

hlasů
2

Budu druhý Eridius' náznak Git, ale já bych to expandovat do dalších DRCs (Distributed Control System Revize), jako Mercurial a bazaru .

Tyto produkty jsou poměrně nedávno a úroveň nástrojů a integraci s nimi zdá nízká v současné době (na základě mé počáteční výzkum). Řekl bych, že se nejlépe hodí k power-vývojáři tam (a zde ;-)).

Na druhou stranu, co není CVS v současné době udělat pro vás? Ze svého počáteční otázku, nemáte opravdu mít žádné, „CVS saje na to, co bych mohl použít místo?“

Musíš zvážit náklady na případné stěhování proti výhody. U existujícího projektu, myslím, že by bylo těžko zdůvodnitelné.

Odpovězeno 18/08/2008 v 18:04
zdroj uživatelem

hlasů
1

CVS (CVS) a SVN (Subversion) jsou dva souborové systémy pro správu verzí, které jsou populárně používají týmy, které spolupracují na jednom projektu. Tyto systémy umožňují spolupracovníci sledovat změny, které jsou vyráběny a vědět, kdo vyvíjí, které, a zda pobočka by měla být použita k hlavnímu kmenu, či nikoliv. CVS je mnohem starší ze dvou a to byl standardní nástroj pro spolupráci pro mnoho lidí. SVN je mnohem novější a zavádí spoustu vylepšení, která řeší požadavky většiny lidí.

Odpovězeno 17/07/2018 v 07:19
zdroj uživatelem

hlasů
1

btw: CVSNT podporuje atomové commitů

Odpovězeno 18/08/2008 v 17:22
zdroj uživatelem

hlasů
0

No, pár věcí, který cítím, je svn úžasné.

  1. SVN-Altassian kelímek kombinace je mnohem lepší způsob hodnocení a kontrolu kvality
  2. Lepší řízení konfliktů a korespondenci
  3. Je to samozřejmě rychlejší při pokladen, provádění commitů, atd.
  4. Atomový spáchání problém - Je možné, že 2 osoby, které se dopustí společně CVS může dostat do konfliktu mezi sebou, ztratí některé údaje a že váš kód základny v nekonzistentním stavu

Migrace lze snadno provést během několika hodin používání cvs2svn.

Odpovězeno 18/09/2016 v 14:01
zdroj uživatelem

hlasů
0

můžete také rozhodnout pro migraci pouze aktuální kód z CVS na SVN a zmrazit aktuální CVS repo. to bude jednodušší migraci a můžete také vytvořit své starší zprávy ve starém CVS repo.

Odpovězeno 08/10/2008 v 17:19
zdroj uživatelem

hlasů
0

Měli byste se podívat na Git místo SVN. Je to DVCS který je sálající rychlý a velmi silný. Není to tak uživatelsky přívětivý jako SVN, ale je to zlepšení v tomto ohledu, a to není , že těžké se naučit.

Odpovězeno 07/08/2008 v 00:09
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more