Taky jsem si kdysi myslel, že se bez GUI neobejdu, tehdy (to už je dávno),
jsem byl ještě na Windows a používal Subversion, TortoiseSVN a později
SmartSVN (BTW: to je pěkný klient a používám ho občas i dodnes),
o nějakých distribuovaných systémech jsem ani moc netušil.
No a pak jsem začal s Mercurialem, to už bylo po přechodu na Linux, a
zjistil jsem, že mi to GUI ani nechybí (a to jsem jinak dost „klikací“).
„Diff“ mi dělají Netbeansy (tedy GUI), jelikož rozdíly v textovém
režimu ani moc přehledně vyjádřit nejde. Ale commity a takové rychlé
kouknutí, co se změnilo, dělám téměř výhradně v konsoli
(i když ta linuxová je o několik řádů výše než ta ve
widlích, tak je to trochu nerovná soutěž :-)).
Celá tahle diskuse mi přijde trochu žabomyší válka. Základem by mělo
být, položit si otázku: „Potřebuji distribuovaný verzovací systém?“.
U většiny komerčních projektů a projektíků potřeba opravdu není a
vítězí zde Subversion se svojí jednoduchostí (není potřeba lidem
vysvětlovat že mají dělat commit a pak ještě push, nebudou zmatení
z toho, že u sebe mají commitnutou verzi a ostatní mezi tím nic
netuší a přepisují ještě tu starou) a se svými GUI nástroji
(TortoiseSVN, SmartSVN), nezanedbatelná je taky podpora v IDE (Např.
Netbeansy mají svn, hg, cvs, clearcase). Zatímco distribuované systémy
najdou uplatnění hlavně velkých projektů a u opensourcu (můžeš si
snadno udržovat vlastní „fork“ a průběžně ho slučovat se změnami
z hlavní větve), nebo tam, kde oceníš offline práci (možnost
commitování, prohlížení historie, vracení se, i bez připojení na
hlavní server), výhoda je taky v tom, že se data jen tak neztratí
(všechno i s historií verzí je zálohované u všech vývojářů,
takže o data prakticky nejde přijít). Měl jsem tu čest pracovat se
svn, hg, p4 a gitem – P4 je sice placený, ale dělalo se mi s ním
nejhůř, nejlepší práce mi přišla s hg a pak se svn (když není
potřeba dvcs), git je téměř totožný s mercurialem, ale moc mi
nesednul.
P.S. na subversionu mi taky leze krkem, že vytváří ve všech
adresářích „.svn“, což je někdy dost problém, už jen kvůli tomu
někdy používám mercurial, protože ten si udělá „.hg“ jen
v kořenovém adresáři a zbytek jsou čistá data.
P.P.S. (po náhledu) fuj to je ale dlouhý příspěvek :-)
Taky jsem si kdysi myslel, že se bez GUI neobejdu, tehdy (to už je dávno), jsem byl ještě na Windows a používal Subversion, TortoiseSVN a později SmartSVN (BTW: to je pěkný klient a používám ho občas i dodnes), o nějakých distribuovaných systémech jsem ani moc netušil.
No a pak jsem začal s Mercurialem, to už bylo po přechodu na Linux, a zjistil jsem, že mi to GUI ani nechybí (a to jsem jinak dost „klikací“). „Diff“ mi dělají Netbeansy (tedy GUI), jelikož rozdíly v textovém režimu ani moc přehledně vyjádřit nejde. Ale commity a takové rychlé kouknutí, co se změnilo, dělám téměř výhradně v konsoli (i když ta linuxová je o několik řádů výše než ta ve widlích, tak je to trochu nerovná soutěž :-)).
Celá tahle diskuse mi přijde trochu žabomyší válka. Základem by mělo být, položit si otázku: „Potřebuji distribuovaný verzovací systém?“. U většiny komerčních projektů a projektíků potřeba opravdu není a vítězí zde Subversion se svojí jednoduchostí (není potřeba lidem vysvětlovat že mají dělat commit a pak ještě push, nebudou zmatení z toho, že u sebe mají commitnutou verzi a ostatní mezi tím nic netuší a přepisují ještě tu starou) a se svými GUI nástroji (TortoiseSVN, SmartSVN), nezanedbatelná je taky podpora v IDE (Např. Netbeansy mají svn, hg, cvs, clearcase). Zatímco distribuované systémy najdou uplatnění hlavně velkých projektů a u opensourcu (můžeš si snadno udržovat vlastní „fork“ a průběžně ho slučovat se změnami z hlavní větve), nebo tam, kde oceníš offline práci (možnost commitování, prohlížení historie, vracení se, i bez připojení na hlavní server), výhoda je taky v tom, že se data jen tak neztratí (všechno i s historií verzí je zálohované u všech vývojářů, takže o data prakticky nejde přijít). Měl jsem tu čest pracovat se svn, hg, p4 a gitem – P4 je sice placený, ale dělalo se mi s ním nejhůř, nejlepší práce mi přišla s hg a pak se svn (když není potřeba dvcs), git je téměř totožný s mercurialem, ale moc mi nesednul.
P.S. na subversionu mi taky leze krkem, že vytváří ve všech adresářích „.svn“, což je někdy dost problém, už jen kvůli tomu někdy používám mercurial, protože ten si udělá „.hg“ jen v kořenovém adresáři a zbytek jsou čistá data.
P.P.S. (po náhledu) fuj to je ale dlouhý příspěvek :-)