Tema: Re: Ar yra koks SVN tools'as
Autorius: Dainius
Data: 2012-10-16 10:45:15
On 10/15/2012 11:55 AM, Laimis wrote:
> Dainius rašė:
>
>> Va butent, kad skirtumo 90% profesionaliu developeriu (tie kurie to
>> duona valgo) nera. Aisku skamba graziai, kai galiu savo pakeitimus
>> nupushinti i savo grupioko repozitorija, su kuriuom darom viena bendra
>> labora, ir nereikai rupintis tureti kazkokio centrinio. Bet realiuose
>> projetuose, kiek taip daro? O kur vartotoju kontrole? Isivaizduoju koks
>
> Galiu atsakyti pasiremdamas neprastai reprezentatyvia, Eclipse daryta
> apklausa. Per tris metus (2009-2011) DVCS (git) naudojimas išaugo 6 (!)
> kartus. Per paskutinius metus *dvigubai* ir dabar DVCS tenka ~30+%. Net
> jei DVCS tenka tik trečdalis, tai per ateinančius metus, dėl tokios
> dinamikos aiškiai prognozuotinas svn lyderio pozicijų praradimas. Kur
> tuomet bus (ir dabar yra) tavo 90% profesionalių projektų, jei daugiau,
> kaip 50% profesionalių projektų bus numigravę (jau ir dabar yra) į DVCS.
> http://www.infoq.com/news/2012/06/eclipse-survey
>
> Realiuose projektuose taip ir daroma. Tu tiesiog pabandyk, kad
> suprastum, kaip tai veikia ir ką tai reiškia. Kas yra vartotojų
> kontrolė, tai aš nežinau. Jei tai susiveda į užrakintas serverinės
> duris, kuriame sukasi centrinė svn repozitorija ir nakčiai ištrauktą
> interneto kabelį, tai tuomet lygiai tą patį galima padaryti ir DVCS atveju.

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: 
vienas ekspertas nusprendzia, kad dabartine kodo saugojimo sistema ir 
sena, ja galima pakeisti nauja geresne ir itikina dauguma (arba asmenis 
atsakingus uz tai), kad jei pradesim naudoti dvcs tada tai jau musu 
bedos bus isprestos, nes cia gi distributed - naujausia techologija. So 
pereinama prie naujos sistemos ir tada issiunciama, kad nuo sio darysim 
ne "svn commit/svn up", o "git commit, git push/git pull". Is pradziu 
pasitaiko visokiu nesusipratimu (pvz kaip commitinti faila po 
konflikto), bet po kurio laiko visi apsipranta ir dabar grizta i tas 
pacias vezias. Skirtumas, tik tas, kad dabar mes jau "modernus" ir turim 
1-6 menesius sugadinto laiko.

>
>
>> butu patenkintas zmogelis atsakingas uz merginima, kai reiktu is 20
>> zmoniu susirankioti pakeitimus, o gavus konflikta dar ir paspelioti,
>> kuris cia turetu buti paskutinis.
>
> Merge'inimas ir konfliktų sprendimas palyginus su svn — diena ir naktis.
> Būtent svn'e tu turi spėlioti ir gaudytis, kas čia yra paskutinis ir iš
> kur atkeliavo, o DVCS'e gauni visą grafą (DAG — directed acyclic graph)
> ir aiškią struktūrą, kas iš kokių šakų merge'inama. Visuomet turi
> galimybę matyti visas merge'inamas versijas (jų istorijas,
> sąsajas-raidą, t.y. visą ryšių grandinę, pradedant tėvinėmis
> revizijomis, baigiant bendra ištaka) iki merge'inimo ir po jo, tad
> konfliktų sprendimas yra tiesiog sunkiai palyginamas. Branch'ai ir
> merge'inimas yra kasdienio DVCS darbo uždavinys, tad ši funkcija yra
> viena iš esminių, labiausiai išvystytų, išspręstų.
> Tuo tarpu kiek painesniam merge'inimui svn'e reikia kurį laiką kauptis,
> o po jo, sako, norisi nusigerti:
> http://blog.teamtreehouse.com/why-you-should-switch-from-subversion-to-git

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

>
>>
>> As tikrai nesakau, kad git blogai, pagrinde ji ir naudojam (prie xkcd
>> dar gali prideti ir http://dilbert.com/strips/comic/2006-10-07/). Jei
>> gerai pameni git'as buvo sukurtas, kad padetu Linusui, bet zinoma, viska
>> ka jis pasako yra negincijama tiesa.
>
> Jei gerai pamenu, tai aš kalbą pradėjau nuo DVCS, tad ir be git'o yra
> bent keletas kitų, vertų dėmesio, alternatyvų (iš kokio tuzino). Šia
> prasme Linus'as (git'as) ir DVCS nėra susiję kilme, nebent tik tuo, kad
> Linus'o dėka buvo sukurta ir labiausiai išpopuliarinta konkreti DVCS
> inkarnacija — git.

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.