Tema: Re: Ar yra koks SVN tools'as
Autorius: Laimis
Data: 2012-10-16 15:54:23
Dainius rašė:

> kad dvcs naudojimas isaugo N kartu, tai nereiskia, kad zmones ir naudoja
> ji kaip dvcs. Kiek buvo pereita prie git visur maciau ta pati scenariju:

Kad ir kaip žmonės jį naudoja, naudodami jie jau turi/naudoja lokalias 
repozitorijas su visa istorija (gali dirbti offline'e, grep'inti), gali 
be vargų lokaliai branch'intis, lanksčiau ir laisviau dirbti, 
eksperimentuoti, turėti kur kas mažiau problemų ir rūpesčių 
merge'indami, ir kt. Tai gimdo atitinkamą kultūrą, skatina produktyvumą 
(nes visų pirma jam mažiau trukdo).

Tie žmonės ilgainiui išmoks sinchronizuotis pagal lanksčius (nes 
kintančius) poreikius, susikonstruodami palankiausią workflow modelį 
(kuris visiškai nebūtinai bus griežtai-ribotai centrinis). Jau 
nebekalbant apie tuos, kurie tikslingai naudoja kur kas labiau advanced 
technikas. Eclipse apklausoje dalyvavo (ir) profesionalūs developer'iai, 
kurių organizacijas sudaro šimtai-tūkstančiai darbuotojų: jei 
stambesnėms organizacijoms, korporacijoms, su atitinkama korporacine 
kultūra, standartais, būdingu nerangumu, tinka DVCS ir jie galiausiai 
ten numigruoja (atmetus haipą, svarbūs sprendimai priimami atsakingai, 
pasvertai, o ne taip, kaip aprašei), tai mažytės, 
keliolikos-keliasdešimties developer'ių komandos, zyziančios, kad niekam 
to DVCS nereikia, labiau liudija apie apie tų komandų (ir projektų 
vadybos, valdymo) ir pačių developer'ių trūkumus, nei bylojamą išmintį.

Pabandžiau praktiškai pasibandyti, kaip reikėtų susimesti folder'io 
failus į fast food repozitoriją ir pasistumdyti, pasibranch'inti po 
kelias repozitorijas, tai nusispjoviau taip ir nepabaigęs:
svnadmin create repo
po to kryptiškas voodoo nurodinėjant repozitorijos kelius (svn co ir svn 
copy; file://\C:/Documens\/...), kuriam jau nebeužteko kantrybės...

versus tiesiog paprasta, intuityvi, įkalta komandinė sąranka:
cd path
hg init
hg add
hg ci
hg clone src dst

Prisireikus susitvarkyčiau, išsiaiškinčiau pasiskaitinėjęs manual'ą; esu 
naudojęs tiek cvs, tiek svn, tačiau pasinaudojęs hg, bzr, jau nebenoriu 
prisiminti, kad reikėtų kapstytis po manual'ą ar taip painiai ir 
užknisančiai suvedinėti kelius tokiam paprastam veiksmui, elementarioms 
komandoms.


> http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/

Tai, kad gerokai paviršutiniška. Daug ką galima nurašyti paviršutiniško 
suvokimo, smulkmeniškam kabinėjimuisi, kaip pvz., neaiški kai kurių 
komandų dokumentacija ir sintaksė; kada paskutinį kartą skaitei, ką daro 
svn co ir kitos populiarios komandos, kurias surenki užsimerkęs, jei tik 
to nepadaro mygtuko spragtelėjimai GUI? O sintaksės netobulumų ir 
perliukų galima prirankioti ir kitų programų manual'uose. Beje, 
pabaigoje yra pačio autoriaus komentarai, išsakius jam (kritiškas) 
pastabas. Keletą jų tikrai galima pacituoti:

„But my life is so much better with Git, why are you against it? I’m not 
– I actually quite like the architecture and what it lets you do. You 
can be against a UI without being against the product.“

„Subversion has even worse problems! Probably. This post is about Git’s 
deficiencies. Subversion’s own crappiness is no excuse.“

„There’s a flaw in point X. You’re right. As of writing, over 80,000 
people have viewed this post. Probably over 1000 have commented on it, 
on Reddit (530 comments), on Hacker News (250 comments), here (100 
comments). All the many flaws, inaccuracies, mischaracterisations, 
generalisations and biases have been brought to light. If I’d known it 
would be so popular, I would have tried harder. Overall, the level of 
debate has actually been pretty good, so thank you all.“

Galų gale:
„Use Mercurial instead! Sure, if you’re the lucky person who gets to 
choose the VCS used by your project.“ :-)


> bet iki git'o dvcs nebuvo toks populiarus, o populiarus jis pasidare
> buten po to, kai Linusas pasake, kad cvs yra sh*** ir visi turi naudoti
> git, nes tik tai yra geras daiktas.

Spjaut į tą populiarumą. DVCS idėjos ir realizacijos gyvavo gerokai 
anksčiau. git'u DVCS nei prasidėjo, nei užsibaigia. Iki ir be git'o (jei 
jis nepatinka) yra bent dvi alternatyvos (hg, bzr), kurias gali labai 
sėkmingai ir patogiai naudoti vietoje svn. Nebekalbant apie kitas (kurių 
nebandžiau), open source'ines, kurias naudoja programuotojai ir 
projektai/organizacijos: Monotone, Veracity, Fosill, Darcs.