Stránka 1 z 2

GIT vs SVN

Odeslat příspěvekNapsal: 29. 3. 2012 21:36
od arnie222
.. ktory preferujete a z akeho dovodu ?

uz som presiel viac clankov na nete, su rozne ohlasy jeden na jednu stranu, druhy na druhu stranu, podla vsetkeho dost zalezi od poctu uzivatelov, lokalit (ci jedno miesto developmentu alebo klonovane prostredie), metodiky vyvoja projektu (agile alebo waterfall development) atd. .. cim viac info poskytnete aj o rieseni ktore ste robili + vase skusenosti .. vela to pomoze mne a asi aj ostatnym ;) dikes ..

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 08:26
od karlos00x
to by me zajimalo jakou vyhodu muze mit svn oproti gitu... distributed je jasna volba.

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 09:38
od JirkaVejrazka
SVN je jednodussi pro zacatecniky, a vetsinou bohate staci pro mensi tymy, kde jsou vsichni porad pripojeni. Vyhodou je propojeni s ruznymi systemy pro spravu projektu, tam ma jeste porad navrch.

Git je mnohem pokrocilejsi, ale slozitejsi na pochopeni a pouzivani pokrocilejsich funkci. Na druhou stranu ma nesporne vyhody, namatkou treba vyrazne jednodussi pouzivani vyvojovych vetvi nebo lokalni commit v offline rezimu (to jenom namatkou). Velkym plusem je taky GitHub, hlavne pro open source projekty.

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 09:46
od karlos00x
no, za me teda je ta moznost lokalniho repo naprosto zasadni. nemusi vsichni videt muj celodenni progres po kazde pidizměně. Takze si verzuju u sebe treba 2x denne kdyz se mi povede dilci ukol a "do centraly" poslu treba za 2-3 dny praci s celym ukolem. (je pravda novy netbeany umi tak nejak interne si verzovat kazdy save)

a ze by byl slozitejsi? no ja proste v netbeanech kliknu pravym, dam commit a hotovo dvacet. a tech editoru/ide ktery umi svn a neumi git taky moc nebude.

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 10:19
od arnie222
skusim konkretnejsie (nie som developer)

mate skusenosti aj s verzionovanim databazy ? (dmodel, procedury, zaznamy v baze)

ide mi o situaciu, ked data maju logicke vazby, funkcionalita v aplikacii je tiez spojena s datami .. v pripade ze sa robi rollback funkcionality, tak aby sa nenarusila integrita dat je mozne jednoducho rollbacknut aj bazu bez toho aby som vytvaral nejake DML, DDL skripty ?

ak ano, ako to ma riesene svn vs git ?

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 10:30
od gandor
K verziovaniu DB: cital som si o tom pomerne dobry (a na tvoj priklad asi trocha prilis obsirny) clanok, s ktorym sa ako developer stotoznujem.

http://thedailywtf.com/Articles/Databas ... Right.aspx

Databazu by som teda neverzioval. Jedine, co by som s nou robil je, ze by som si robil jej pravidelne zalohy (nech sa da spravit rollback) - a ku kazdej verzii sourcecode-u by som ju len priradil.

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 10:59
od arnie222
dik za clanok, zacal som ho citat .. ale su tam skor elementarne veci pre zaciatocnikov ... dalej som to preletel, skoncil som na verzionovani bazy.

v podstate som odpoved nenasiel :) klon bazy aj so vsetkymi objektami co spominas je naijistejsi .. hladam skor odpoved na nejake automatizovane riesenie cez SVN/GIT, kde ked zafixujem kod mozem zafixovat aj bazu ... ak sa to inak neda, alternativou su samozrejme PIT kopie co spominas .. akurat viac casu na manazment :/

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 11:41
od karlos00x
bych spis nasel jen moznost jak mit v kodu popsane db schema a verzoval db_schema (+ pripadne jen settings tabulky). Verzovat cele DB je imho nesmysl.

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 11:47
od arnie222
preco si myslis ze je to nezmysel ?

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 12:10
od gandor
Teraz trocha moj vlastny nazor:

Asi kvoli mnozstvu dat.
Ale nezmysel je nemat to tak (pokial su v tabulkach aj nejake "strukturne" data). Tie data su v 99% medzi dvoma za sebou iducimi verziami zhodne a teda nezaberaju vyrazne viac miesta.
Ono podstata tych verzii je aj to, ze aby sa k nim clovek mohol kedykolvek vratit - a pokial nema (strukturne) udaje, tak to proste fungovat nebude... Takze taka nekompletna verzia DB (ako navrhuje karlos) je pouzitelna len velmi otazne...

Na druhej strane - verziovanie nieje urcene ako zaloha uzivatelskych dat a pokial ulozene informacie nesluzia k funkcii systemu, tak je dost nezmyselne, aby zbytocne zahlcovali miesto a tym spomalovali cely verziovaci system (niektore databazy - hlavne ak je velka premavka alebo su "zle navrhnute" mozu zaberat niekolko gigabajtov - co pre system, ktory je urceny na aktivnu pracu s textom o velkosti max. niekolko MB (+ binarne data ako obrazky) nieje zrovna najprijemnejsie)...

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 12:38
od karlos00x
kdyz to prevedu konkretne na CMS: to chcete verzovat vcetne veskereho obsahu? Duvod?

Ja teda potrebuju verzovat jen
- kod aplikace
- struktura DB a jeji zmeny mezi verzemi - to mam v kodu jako pole polí
- nektera konkretni nastaveni aplikace - to mam v kodu. navic mam funkce ktere porovnaji pri spusteni update verzi modulu v DB a verzi modulu v kodu a spusti patricnou funkci pro update
- veskera data v db nutna pro instalaci aplikace stejne musim mit v kodu protoze zacinam s cistou DB

Tedy uzivatelska data neverzuju, ale zalohuju. Pomoci update API + database API dokazu za stare zalohy DB udelat novou verzi aplikace se starymi uzivatelskymi daty tim ze nahraju aktualni kod a spustim update proceduru.

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 13:11
od arnie222
@karlos: CMSko nie je dobry priklad - moj case som popisal vyssie
- struktura db v kode ? preco nemas DDL skript ? podla mna je zbytocne pisat kod do kodu ci ?
- veskera data v db nutna pro instalaci - dufam tiez SQL skript, ci ?

@gandor:
"a pokial ulozene informacie nesluzia k funkcii systemu"
vid moj case vyssie, praveze tie data sluzia k funkcii systemu :)

v kazdom pripade, ja by som pre zaciatok potreboval vediet ci okrem prace s kodom, umoznuje SVN alebo GIT aj pracu s databazou co sa tyka verzii ? riesit ze preco to chcem robit, zatial nechajme bokom ;)

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 13:21
od karlos00x
pokud si tu db vyexportujes jako sql kod tak zajiste umi. vic nedokazu odpovedet, ale google jiste vi.

pokud jsou nektera data v DB nutna pro funkci tak jak potom distribuujes na vsechny bezici instance novou verzi? podle me dobry SW by mel mit vse nutne pro update v kodu. pak proste jen poslu balik, spustim update proceduru (a ta pripadne umi doplnit rozdilova data) a hotovo.

Proste si neumim predstavit co vlastne chces.

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 13:42
od arnie222
jj, google jasne .. uvidime, mozno niekto napise co ma skusenosti.

data vs funkcionalita, som to myslel tak .. ze uzivatelske data, ktore su zadane su vyuzivane nie len na dalsie zobrazovanie ale na vypocty, transformacie, generovanie dalsich dat .. myslel som to tak, ze ked pridam funkcionalitu, zadam a vygenerujem nejake data. ked tu funkcionalitu odstranim (rollback), vygenerovane data nebudu mat za sebou funkcionalitu resp. budu prehnane cez procedury s inou funkcionalitou a vysledne data pocas testov mozu poskytnut nespravne vysledky .. a tazko budem vediet identifikovat ci je chyba sposobena zlymi datami alebo zlou funkcionalitou - napriklad.

a testovanie tiez nechcem obmedzovat aby sa zakazdym vyrabali nove testovacie data, pretoze to zabera cas. chcel by som, ak sa funkionalita prida a vygeneruju sa data, tak tieto vygenerovane data zmiznu po rollbacku ..

jedna alternativa su PIT kopie .. uz len potrebujem zistit moznosti SVN / GIT (cize google alebo dalsi diskuteri ;))

Re: GIT vs SVN

Odeslat příspěvekNapsal: 30. 3. 2012 13:50
od JirkaVejrazka
Trochu se bojim, ze diskutujete bez toho, abyste znali aspon zakladni parametry systemu, o kterych je rec. Jde o databazi velikosti 5MB, nebo o DB, ktera ma 2TB bez indexu?

Univerzalni reseni neexistuje. Casto se to resi tak, ze se do version control systemu davaji migracni skripty pro dopredne i zpetne migrace, ale neda se to pouzit vzdy.

Zalohovani databaze (PIT i jakekoli jine) je ortogonalni problem a s version control systemy nesouvisi