GIT vs SVN

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod arnie222 29. 3. 2012 21:36

.. 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 ..
arnie222
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 30. 3. 2012 08:26

to by me zajimalo jakou vyhodu muze mit svn oproti gitu... distributed je jasna volba.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod JirkaVejrazka 30. 3. 2012 09:38

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.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod karlos00x 30. 3. 2012 09:46

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.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod arnie222 30. 3. 2012 10:19

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 ?
arnie222
Junior
Uživatelský avatar

Odeslat příspěvekod gandor 30. 3. 2012 10:30

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.
gandor
Mírně pokročilý

Odeslat příspěvekod arnie222 30. 3. 2012 10:59

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 :/
arnie222
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 30. 3. 2012 11:41

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.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod arnie222 30. 3. 2012 11:47

preco si myslis ze je to nezmysel ?
arnie222
Junior
Uživatelský avatar

Odeslat příspěvekod gandor 30. 3. 2012 12:10

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)...
gandor
Mírně pokročilý

Odeslat příspěvekod karlos00x 30. 3. 2012 12:38

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.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod arnie222 30. 3. 2012 13:11

@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 ;)
arnie222
Junior
Uživatelský avatar

Odeslat příspěvekod karlos00x 30. 3. 2012 13:21

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.
Upgrade který má smysl: SSD. Zažijete svižný počítač.
karlos00x
Pokročilý

Odeslat příspěvekod arnie222 30. 3. 2012 13:42

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 ;))
arnie222
Junior
Uživatelský avatar

Odeslat příspěvekod JirkaVejrazka 30. 3. 2012 13:50

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
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod arnie222 30. 3. 2012 14:11

bohuzial neviem odhadnut velkost, musim sa poradit ale nemam poruke cloveka .. odhadujem 100-200 mb (ale fakt len odhad neodborneho cloveka)
arnie222
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků