hmm, ale jak chceš rozhodnout, který nástroj je lepší, když znáš jen jeden?
Docela by mne zajímal názor člověka, který aktivně používal jak Mercurial, tak Git, případně další nástroje. Sám znám Mercurial a SVN a vím, že když chceš programovat, tak prostě věnuješ čas programování a nebudeš ho ztrácet učením se nějakého nového úžasného verzovacího systému → takže máš tendenci používat to, co už umíš (pokud tvým cílem není rozšířit si znalosti verzovacích systémů).
Rozhodneš se pro to nejlepší z toho, co znáš, vždyť je to logické (a racionální) chování. Ber to tak, že nejde o to, přejít na absolutně nejlepší VCS (co znamená nejlepší, že?), ale zvýšit co nejvíce lidem pohodlí přispěvování. A to, že ti lidé už git znají a používají, znamená pro git náskok, který nejde zanedbat (zvlášť, když ten náskok je opravdu velký).
To, že se lidé rozhodují pro osvědčená a rozšířená, byť třeba o malinko horší, řešení, je fakt a není to chyba.
Jo to já beru, cílem je vyvíjet kvalitní software a ne si hrát s VCS, zvlášť v tomhle případě, když Git a Hg jsou hodně vyrovnané, takže se ani moc nedivím, že se vybere to, co většina lidí zná.
Na druhou stranu, kdybychom tenhle přístup dodržovali důsledně, tak zůstaneme u Widlí, protože ty všichni známe a můžeme na nich pracovat hned, aniž bychom museli kompilovat jádro a učit se spoustu nových programů…
Já znám Bazaar a Git. Musím uznat, že Git má navrch. Jednak je rychlejší, druhak bohatější na fíčury. Bazaar ideově vychází ze SVN, Git je trochu jiný.
bazaar je ale o dost vice user friendly. Vetsinou udela to co koder zamyslel aniz by se musel s nim nejak zbytecne zabyvat. Krom toho bazaar bezi bezproblemu na widlich.
napriklad e2fsprogs preslo z hg na git, blog: http://thunk.org/tytso/blog/2007/03/24/git-and-hg/
(mozna jeste nekde napsal neco dalsiho, ale jsem linej hledat... kazdopadne ne vse co tam pise je aktualni)
> že když chceš programovat, tak prostě věnuješ čas programování
> a nebudeš ho ztrácet učením ...
uf.. to preci neni ztrata casu -- verzovani, delani branchu, generovani patchu apod. je casto prave prace programatora. Nemluve o tom, ze git neni jen o verzovani, ale muze pomahat i pri vlastnim vyvoji.
Viz třeba tenhle článek: http://www.root.cz/clanky/git-distribuovana-sprava-revizi/
Sice je o Gitu, ale v podstatě popisuje výhody distribuovaného verzovacího systému oproti nedistribuovanému - takže většina těch výhod bude platit i pro Hg nebo Bazaar.
U velkých komunitních projektů se výhody distribuovaných systémů využijí - naopak u uzavřeného komerčního projektu se může hodit centralizované SVN, jednak je trochu jednodušší na používání a jednak nebudeš muset řešit problémy s tím, že někdo sice "commitoval", ale jen do vlastního úložiště a ne do toho centrálního, kde to vidí i ostatní.
po zkusenostech z centralim vs distrib. VCS jednoznacne doporucuji distrib. VCS (git/bzr/hg).
Umi totiz vsechno co centralizovany + veci navic ktere se daji pouzit pro offline provoz, inkrementalni zalohovani repa., ma lepsi mergovani. Proste je to dalsi generace VCS softwaru. Chapu ze neni nutne pouzivat vzdy nejlepsi VCS, ale VCS by rozhodne nemel developerum prekazet v praci jako to dela CVS.
Souhlasím s Leninem, že distribuované VCS jsou lepší (koneckonců, existují adaptéry, pomocí nichž je možné degradovat z pohledu uživatele git na pouhé svn apod.). V distribuovaných VCS (opět git) se necommituje, ale pushuje. Kdo nenapushoval, jako by z pohledu ostatních neudělal nic, soukromé commity nikoho nezajímají. Na druhou stranu je ale důležité, aby byl VCS sladěný s ostatními vývojovými prostředky. Pokud celá firma používá např. InteliJ IDEA a vývojářům jde v něm práce perfektně od ruky a nejsou zvyklí pracovat commandlajnou, asi nikdo rozumný nenasadí VCS BleedingEdgePowerGLX, které nemá pluginy do používaného IDE, nikdo ho nezvládne ovládat a jeho vymoženosti jsou tak obrovské, že je ve firmě stejně nedokážete využít.
„Kdo nenapushoval, jako by z pohledu ostatních neudělal nic, soukromé commity nikoho nezajímají.“
To ano, ale někomu dá dost práce pochopit, že vůbec existuje nějaké společné úložiště a že ty soubory nejsou jen u něj na disku, pak se může jednoduchost* SVN hodit – verzovací systémy totiž nemusí používat jen programátoři…
S těmi pluginy do IDE nelze než souhlasit – a nejde jen o to, že uživatelé nejsou zvyklí pracovat s příkazovou řádkou, i kdyby byli a neměli k tomu zábrany, integrace do IDE je asi 100x pohodlnější a efektivnější, než si něco šmudlat v nějakém černém okýnku vedle. Třeba do Netbeans je hezky integrované SVN a Hg, s tím je radost pracovat.
*) společně s dostatkem nástrojů jako je TortoiseSVN, SmartSVN
(existuje i TortoiseHg pro Mercurial)
Zrovna jsem narazil na Fedora hosted (https://fedorahosted.org/web/), evidetne oni si umi poradit s SVN, HG, GIT a dalsimi. Proste co komu vyhovuje. Jinak osobne fandim GITu, je snadno k nauceni, kvalitni, ditribuovany, proflaknuty a rychly. Bazaar ma zase vyhodu podpory Canonical a ruznych GUI a webovych rozhrani k tomu. Nejvetsim problemem GNOME v teto otazce se zda byt nedostateck schopnych adminu pro migraci.