Hva er fordelene med å bruke SVN løpet CVS?

stemmer
56

Mitt firma bruker CVS som vår de-facto standard for kildekontroll. Men jeg har hørt en masse folk si at SVN er bedre.

Jeg vet SVN er nyere, men annet enn det, er jeg kjent med sine fordeler.

Hva jeg leter etter er en god, fyndig sammenligning av de to systemene, og bemerker noen fordeler eller ulemper av hver i en Java / Eclipse utviklingsmiljø.

Publisert på 04/08/2008 klokken 14:06
kilden bruker
På andre språk...                            


12 svar

stemmer
56

CVS sporer eneste endringen på en fil-by-fil basis, mens SVN sporer en hel begå som en ny revisjon, noe som betyr at det er lettere å følge historien til prosjektet. Legg det faktum at alle moderne kildekontroll programvare bruke begrepet revisjon slik at det er langt enklere å migrere fra SVN enn det er fra CVS.

Det er også atom begår problemet. Mens jeg bare møtte den en gang, er det mulig at 2 personer begår sammen i CVS kan komme i konflikt med hverandre, å miste noen data og setter kunden i en inkonsekvent tilstand. Når oppdages tidlig, disse problemene er ikke viktig fordi dataene er fortsatt der ute et sted, men det kan være en smerte i et stressende miljø.

Og til slutt, er ikke mange verktøy utviklet rundt CVS lenger. Mens de nye og skinnende nye verktøy som Git eller Mercurial definitivt mangler verktøy ennå, har SVN en ganske stor søknad base på alle systemer.

EDIT 2015 : Seriøst, er dette svaret 7 år gammel nå. Glem SVN, gå bruke Git som alle andre!

Svarte 04/08/2008 kl. 14:17
kilden bruker

stemmer
18

En av de mange sammenligninger:

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

Nå er dette veldig spesielt for dette prosjektet, men en masse ting apllies generelt.

Pro Subversion:

  • Støtte for versjonnavneskifter / trekk (umulig med CVS): Fingolfin, Ender
  • Støtter kataloger opprinnelig: Det er mulig å fjerne dem, og de er versjonert: Fingolfin, Ender
  • Filegenskaper er versjonert; ikke mer "kjørbar litt" helvete: Fingolfin
  • Samlet revisjonsnummer gjør bygge versjonskontroll og regresjonstesting mye enklere: Ender, Fingolfin
  • Atomic forplikter: Fingolfin
  • Intuitive (katalogbasert) forgrening og merking: Fingolfin
  • Enklere påhakningsskript (pre / post begå, etc): SumthinWicked (jeg bruker den for Doxygen etter inger)
  • Hindrer utilsiktet begå konflikt filer: Salty-hest, Fingolfin
  • Støtte for tilpassede diff 'kommando: Fingolfin
  • Offline differ, og de er umiddelbar: sev
Svarte 04/08/2008 kl. 14:09
kilden bruker

stemmer
14

SVN har 3 hoved fordeler fremfor CVS

  • det er raskere
  • støtter versjonering av binære filer
  • og legger transaksjons forplikte (alt eller ingenting)
Svarte 04/08/2008 kl. 14:35
kilden bruker

stemmer
7

The Subversion Boken har et vedlegg som detaljer viktige forskjeller fra CVS, som kan hjelpe deg med å gjøre avgjørelsen. De to tilnærmingene er mer eller mindre den samme ideen, men SVN er spesielt utviklet for å løse langvarige feil i CVS så, i teorien i hvert fall, vil SVN alltid være et bedre valg.

Svarte 04/08/2008 kl. 14:14
kilden bruker

stemmer
4

En ting ikke å overse er økosystemet. Jeg jobbet på en CVSNT butikk, og jeg var å finne mer og mer åpen kildekode-verktøy støttes Subversion som standard.

Svarte 18/08/2008 kl. 17:22
kilden bruker

stemmer
3

Jeg vil andre Eridius' forslag fra Git, men jeg vil utvide det til andre DRCs (Distributed Revision Control System) som Mercurial og basar .

Disse produktene er ganske nylig og nivået av verktøy og integrasjon med dem synes lavt i øyeblikket (basert på min innledende forskning). Jeg vil si de var best egnet til power-utviklere der ute (og her ;-)).

På den annen side, hva betyr ikke CVS tiden gjøre for deg? Fra din første spørsmålet, trenger du egentlig ikke har noen, "CVS suger på dette, hva kan jeg bruke i stedet?"

Du har må veie opp kostnadene ved eventuelle migrasjon mot fordelene. For et eksisterende prosjekt, tror jeg at det ville være vanskelig å rettferdiggjøre.

Svarte 18/08/2008 kl. 17:04
kilden bruker

stemmer
2

Som en som er i midten av veksling mellom CVS og SVN (utgangspunktet vi slått alle våre prosjekter med cvs2svn og deretter besluttet at vi ville gå over ved å bare bruke svn på nye prosjekter), her er noen av de problemene vi har hatt.

  • Sammenslåing og forgrening er svært forskjellige, og hvis du gren og flette ofte, med mindre du har SVN 1.5 kjører på serveren din må vite når du forgrenet (dette er ikke veldig klart i Tortoise SVN dialoger). Michael sier forgreninger og fletting er intuitiv, jeg vil hevde at etter bruk CVS i 10 år, er det ikke.
  • Hvis din kjører SVN server på Linux, kan det være vanskelig å få SA å flytte til svn 1.5, som standard installere 1.4.x.
  • Sammenslåing konflikter er ikke på langt nær så enkelt eller så klar (i hvert fall for meg og mine kolleger) i TortoiseSVN som det er i TortoiseCVS. De tre ruten tilnærmingen tar litt tid å bli vant til og det WinMerge (min foretrukne flette verktøyet) gjør ikke en tre-ruten flette.
  • Pass på: mange av de elektroniske opplæringsprogrammer og artikler jeg har lest åpenbart ikke gren og flette, bør du sette opp din viktigste repository som https://svn.yoursvnserver.com/repos/YourProject/Trunk og greiner på https: / /svn.yoursvnserver.com/repos/YourProject/Branches/BranchX . Du kan rydde opp hvis du starter repos på feil sted, men det fører til forvirring.
Svarte 04/09/2008 kl. 17:44
kilden bruker

stemmer
2

forresten: CVSNT støtter Atomisk

Svarte 18/08/2008 kl. 16:22
kilden bruker

stemmer
1

CVS (Concurrent Versions System) og SVN (Subversion) er to versjonskontrollsystemer filsystemer som er populært brukt av team som samarbeider om et enkelt prosjekt. Disse systemene tillater samarbeidspartnere å holde styr på de endringene som er gjort og hvem som utvikler hvilke og om en gren skal brukes til hoved stammen eller ikke. CVS er mye eldre av de to, og det har vært standard samarbeidsverktøy for mange mennesker. SVN er mye nyere og den introduserer en rekke forbedringer for å møte kravene til folk flest.

Svarte 17/07/2018 kl. 07:19
kilden bruker

stemmer
1

Du bør ta en titt på Git stedet for SVN. Det er en DVCS som er lynrask og veldig kraftig. Det er ikke så brukervennlig som SVN, men det er bedre i den forbindelse, og det er ikke det vanskelig å lære.

Svarte 06/08/2008 kl. 23:09
kilden bruker

stemmer
0

Vel, et par ting som jeg mener gjør svn awesome.

  1. Den SVN-Altassian smeltedigel kombinasjonen er en langt bedre metode for evalueringer og kvalitetskontroller
  2. Bedre styring av konflikter og fusjonerer
  3. Det er åpenbart raskere for å ta kassene, utføre inger, etc.
  4. Atom begå problem - Det er mulig at 2 personer begår sammen i CVS kan komme i konflikt med hverandre, å miste noen data og sette din kode base i en inkonsekvent tilstand

Migrasjon kan enkelt gjøres i et par timer ved hjelp cvs2svn.

Svarte 18/09/2016 kl. 14:01
kilden bruker

stemmer
0

du kan også velge å migrere bare den siste koden fra CVS til SVN og fryse din nåværende CVS repo. dette vil gjøre migrering enklere, og du kan også bygge dine eldre utgivelser i den gamle CVS repo.

Svarte 08/10/2008 kl. 16:19
kilden bruker

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