System správy verzí v malé skupině

cosmo

Re: System správy verzí v malé skupině
« Odpověď #15 kdy: 18. 08. 2011, 15:52:53 »
Zaujimave riesenie :-) Ale nahodit GIT na VPS zrejme nebude problem. Najjednoduchsie to pojde cez sambu, ale riesenie to nie je vobec elegantne. No, na zaciatok mi postaci to, ze nebudem mat neporiadok v zdrojakoch, zvysni clenovia teamu sa uz nejako skoordinuju :-)

Skor by som preferoval neico taketo:
http://tumblr.intranation.com/post/766290565/how-set-up-your-own-private-git-server-linux

Mercurial ma "hg serve", zrejme aj GIT ma nieco podobne, alebo by sa dalo pouzit nieco taketo:
http://kernel.org/pub/software/scm/git/docs/howto/setup-git-server-over-http.txt
http://jfcouture.com/2008/01/20/how-to-set-up-a-git-server/

V tom poslednom sa spomina gitosis.

Su to vsetko iba ideove zalezitosti, konkretne prevedenie by uz zaviselo od okolnosti :-)

Neviem, co vsetko stihnem dnes, ale mozno vyskusam lokalny webserver s GIT repozitarom a ked to bude potrebne, premigrujem na nejake VPS.


Kit

Re: System správy verzí v malé skupině
« Odpověď #16 kdy: 18. 08. 2011, 16:05:26 »
S Gitem na Sambě bych byl opatrný. Nevím, jestli bude správně fungovat při souběhu požadavků, ale možná je to už vyřešené. Osvědčilo se mi SSH, ale metod je k dispozici víc.

cosmo

Re: System správy verzí v malé skupině
« Odpověď #17 kdy: 18. 08. 2011, 16:11:49 »
[kit]  Prave som si nasiel mnozstvo How-to o instalacii GIT-u na server, takze zrejme pojdem touto cestou. Co sa tyka samby, tak to je fakt, moze dojst k uzamknutiu suboru, naslednemu odomknutiu a zapisu novych dat. V konecnom dosledku by takto cely repozitar mohol zostat znacne nekonzistentny, takze svoj ucel by si to nesplnilo. ta samba by sa dala pouzit skor ako iba zaloha aktualneho lokalneho repozitara. Takze, radsej poraidne ciste riesenie, ktore nebudeme musiet neustale kontrolovat, ale proste sa spolahneme, ze to funguje :-)

Uvazujem zrovna nad SSH implelentaciou, ktoru som nasiel v jednom HowTo. Este si to zbezne prejdem, ale to bude asi to prave. Zatial by som to nechal na mojej masine, pustil by som von jeden port na verejnej IP pre zvysok teamu, priapadne hodim nejaky filter IP a mozme vyskusat novy sposob prace :-)

Kit

Re: System správy verzí v malé skupině
« Odpověď #18 kdy: 18. 08. 2011, 16:32:08 »
[kit]  Uvazujem zrovna nad SSH implelentaciou, ktoru som nasiel v jednom HowTo. Este si to zbezne prejdem, ale to bude asi to prave. Zatial by som to nechal na mojej masine, pustil by som von jeden port na verejnej IP pre zvysok teamu, priapadne hodim nejaky filter IP a mozme vyskusat novy sposob prace :-)
Je dobré tomu zřídit vlastní účet, kterému zakážeš shell a povolíš jen přístup přes Git. Trochu to zvýší bezpečnost.

Další variantou je posílání patchů na správce, který je po schválení teprve posílá do repozitáře nebo nadřízenému správci (v případě hierarchicky řízeného projektu). Možností je skutečně velmi mnoho.

ovrscout

Re: System správy verzí v malé skupině
« Odpověď #19 kdy: 18. 08. 2011, 18:43:11 »
Zdravím,
  git používám dennějiž  vícenež  dva roky a nemohu si ho vynachválit, tady jsou nektere poznamky.

1)pod windowsama funguje dobre msysgit ktery se obejde bez molocha cygwinu.

2)Co se tyka GUI tak soucasti gitu jsou  "git gui" a "gittk".
  git gui je na comitovani(umi i comitovat jen vybrane radky ze souboru,revert jednotlivych souboru,atp),Fetch,Merge,a takove ty zakladni operace.
  gittk je pak hlavne na prohlizeni historie ale umi (kromnejineho ) porovnavat commity a vetve nebo se da snadno udelat cherry-pick comitu z jine vetve.

 Tyto dva jsou pro mne  takovy ten zaklad pro bezne denni pouzivani. Jedine co mi snad chybelo ze tu nejdou smazat Tagy(kdyz se upisu), na coz jde dobre pouzit Jiz zmineny TortoiseGit ktery ma sice vice moznosti(napr graficke rebase) ale na bezne pouzivani mi to jeho rozhrani nejak nevyhovuje.

3)Server nepouzivam takze jedu jen po windowsim sdileni. Natahovani dat(Pull,Fetch,Clone) funguje paradne, ale s push mi nejak nechodil(obcas jo obcas ne). Tam bych asi doporucil SSH, ale jak rikam nemam centralni repo takze si mezi PC vzdycky jen Fetchnu a jedu dál. Ovsem ze zvedavosti jsem si nahodil Git na virtual linux a prez SSH v pohode.

Na zalohovani mam udelany skript ktery mi Fetchne vsechny repositare na PC(i v stiti) jako mirror do zvlasnti slozky, kterou pak stejnym skriptem prenesu na FlashDisk a obcas pak  cely adresar zabalim do archivu a vypalim jako stabilni zalohu.

Preju hodne zdaru.


ava

Re: System správy verzí v malé skupině
« Odpověď #20 kdy: 18. 08. 2011, 19:44:49 »
Ja pouzivam Fossil (http://fossil-scm.org) a jsem naprosto spokojeny, jen tu integraci do IDE nema.. :P

cosmo

Re: System správy verzí v malé skupině
« Odpověď #21 kdy: 19. 08. 2011, 11:25:45 »
[ava] Urcite si to pozriem, uz len preto, ze je to pre mna upln novinka :-)

[ovrscout] Dakujem za doporucenia. Nakoniec som sa rozhodol pre GIT v tejto zostave:

- u mna na debiane lokalne repo, NetBeans IDE, riadok a skriptiky
- u kolegov na windowse NetBeans IDE, msysgit
- centralne repo na serveri, pravdepodobne cez SSH

Vcera som nejako nemal cas, ale dnes to skusim nahodit do virtualu a otestovat. Nasledne by som to preklopil do nejakej VPS, alebo nechal bezat na svojom stroji s verejnou IP a patricnym zabezpecenim.

Velmi rad si necham poradit od skusenejsich, teoria sa da precitat na nete, ale pozitivne/negativne skusenosti sa daju zistit, len ked sa clovek spyta :-)
Nakolko ste viac/menej vsetci odporucili GIT, rozhodol som sa pre GIT :-) Ak nam jedneho dna nebude stacit, potom sa znova budem obzerat po niecom dalsom, mozno Mercurial :-)

Este raz dakujem za postrehy a urcite dam vediet, co sa podarilo.

Kalanis

Re: System správy verzí v malé skupině
« Odpověď #22 kdy: 20. 08. 2011, 01:21:57 »
Tak a já si dovolím pokračovat v podobném tématu, takže radši nebudu zakládat další vlákno. Oproti kolegovi je v sestavě několik změn.
Vývoj PHP na vlastním malém domácím serveru (aby se až tolik nenudil), tedy vzdáleně. Zatím používám prostě Gedit, znásilněný Notepad2 (nic lepšího a zároveň malého na úpravy programů neznám) a pobíhání v tabech desktopu (thx linuxu, že případná grafika může jet na jiný ploše). Vývoj probíhá tím, že napíšu kus kódu, nahraju ho na server a otestuju, co to páchá (výhoda dvojitého uložení se mi už několikrát osvědčila). Pokud to, co chci, tak jedu dál. Pokud něco jiného, tak se seknu a hledám chybu (základní strom toho, co to má dělat, mám na papíře; je to tak snazší udržet). A takto to jede, dokud není modul dokončený. No a až teď se dostáváme k publikaci a tomu, co od Gitu či jiného správce verzí chci. Zveřejnění změn totiž musí probíhat až po dokončení modulu (zveřejnit v PHP něco, co někde nejede, považuju za problém). Rád bych ho dokopal k tomu, že mi bude dělat balíky (bohužel to musí být ZIP, s ničím jiným nelze v plánovaném modulu aktualizací na ostrých instalacích pracovat; PHP totiž by default nic jiného nezvládá) a udržovat jejich verze. Jenže - většina těchto správců je jasně napsána na to, že se daný program vcelku přeloží a až pak se spouští. Ten můj PHP kód si ale tahá jen ty moduly, které v tu chvíli potřebuje - a ty se pak ženou překladem.
Návrhy?

cosmo

Re: System správy verzí v malé skupině
« Odpověď #23 kdy: 06. 09. 2011, 11:17:39 »
[Kalanis]
No, toto je uplne klasicky sposob, ktory sme pouzivali +- doteraz, ale zacina to mierne zdrzovat. Navyse je tam potrebne urcite usilie na evidenciu zmien v kodoch a pripadne hladanie chyby v buducnosti. Tento system je v pohode pre jedneho vyvojara, prakticky doteraz som ho pouzival, ale pre vacsi projekt sa mi neosvedcil. Je to mierne neprehladne a strasne sa mnozia rozne subory tipu subor.php.bak vo foldroch v.2x.x v3.x.x a podobne :-)

Inak na Linuxe odporucam jEdit, je to sice java monstrum, ale je to velmi dobry editor s mnozstvom pluginov.

Co sa tyka vasej otazky - treba commitovat do git-u len vysledny produkt, ktory je sfunkcneny natolko, ze moze sluzit ako odrazovy mostik nejakej major verzie. Dalsie zmeny potom uz commitovat uplne vsetky (samozrejme nie kazdy backspace alebo \n). Co sa tyka balickovania, tak na to sa da pouzit skript, ktory Vam vsetko zabali tak ako potrebujete. Ale pri vyvoji rozhodne pracovat z nezabalenymi subormi. V repozitaroch uchovavajte iba zdrojaky, uchovavat zipy, ktore nemozete priamo upravovat je zbytocne (nechavajte si iba vyznamne verzie). Nasledne si zabalte so zdrojakov prave tu verziu, ktoru potrebujete.

Mozno sme sa nerozumeli a vasu otazku som zle pochopil, mozte kludne upresnit :-)

Kalanis

Re: System správy verzí v malé skupině
« Odpověď #24 kdy: 11. 09. 2011, 00:23:54 »
Naopak jste ji pochopil správně.
Navíc by každý modul měl mít vlastní podvětve (jest kravina když se povýší modul zpracovávat všechno okolo - modul totiž musí být závislý minimálně).
Další problémek je aby při commitu větve se i balíčkovalo; balíčky samozřejmě půjdou do extra složky - tušíte někdo, jak to spíchnout (lajna je pro programátorskou lenost špatná odpověď, přimapovaný skript vč. provedení dobrá)?