Portál AbcLinuxu, 13. května 2025 23:16

Dotaz: CVS + skript = automaticka synchonizace na vyvojarska PC ?

9.11.2007 16:49 interpid
CVS + skript = automaticka synchonizace na vyvojarska PC ?
Přečteno: 223×
Odpovědět | Admin
Dobry den,

potrebuji najit CVS Tool nebo sikovny skipt ktery by sel nastavit tak ze kdyz by byl spusten tak by provedl check out aktualniho stavu naseho projektu na jednotliva vyvojarska PC. Tato cinnost by probihala pres noc a rano by kazdy clen tymu mel k dispozici svuj osobni workspace a vedle toho workspace synchronizovany nasim skriptem/toolem pres noc. Takze pak neresime zadne konflikty a je na vyvojari jaky workspace se rozhodne pouzit. Kazde rano nam tak pul hodiny az hodinu trva synchronizace,nemame integracni server mame mnoho junioru a prvnim krokem ke zlepseni situace je tenhle muj pozadavek. Pokud dokazete alespon napovedet tak budu rad.

Dokazu si na prikazovem radku s CVS synchronizovat rucne libovolny soubor, jak mam ale CVSku rict ze chci check outnout kompletni verzi z HEADU prip. z nejake vetve.

Dik
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.11.2007 17:01 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: CVS + skript = automaticka synchonizace na vyvojarska PC ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
cd $project_dir; cvs update -d

dva "workspace" je blbosť, cvs akceptuje lokálne zmeny. IMHO, vhodnejší by bol skript, ktorý na každú zmenu pošle mail, a cez nejaký mailfilter update len na zmeny.

9.11.2007 17:19 interpid
Rozbalit Rozbalit vše Re: CVS + skript = automaticka synchonizace na vyvojarska PC ?
Diky, predstavme si ze mam prazdny adresar na stanici a potrebuju si stahnout z HEADu kompletne cely projekt. Tak by to fungovalo prvni noc kdy by se ten adresar vytvoril. Pote bych uz v dalsich dnech jen updatoval lokalni zmeny, s tim souhlasim.

O to aby se vyvojarovi neprepsal workspace pres noc se stara vyvojar a to tak ze si "pro jistotu" rano ten automaticky updatnuty adresar prejmenuje a pouziva ho...
9.11.2007 18:12 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: CVS + skript = automaticka synchonizace na vyvojarska PC ?
Diky, predstavme si ze mam prazdny adresar na stanici a potrebuju si stahnout z HEADu kompletne cely projekt.
cd $project_dir;
for i in aaa bbb ccc; do
  [ -d $i ] && cvs update -d $i || cvs checkout $i
done
O to aby se vyvojarovi neprepsal workspace pres noc se stara vyvojar a to tak ze si "pro jistotu" rano ten automaticky updatnuty adresar prejmenuje a pouziva ho...
o to, aby sa mu neprepísali jeho zmeny, sa stará cvs. Ostatné zmeny sa mu naopak zídu. Ako chcete ošetriť zmenu jednoho súboru dvoma užívateľmi (vynútením commitom pri odchode ???). Btw, programátori nie sú blbci (vačšinou, po vynechaní rôznych windozoidných), a cvs update -d snáď dokáže spustiť aj drevorubač.
9.11.2007 18:21 cronin | skóre: 49
Rozbalit Rozbalit vše Re: CVS + skript = automaticka synchonizace na vyvojarska PC ?
... a cvs update -d snáď dokáže spustiť aj drevorubač.
Spustiť dokáže, to nie je problém. Ale trvá to dlho. Typujem, že 3rd party libraries vrátane API dokumentácie držia priamo v repozitári, takže taký update znamená "ideme na obed". Mám pravdu? :-)
9.11.2007 18:18 cronin | skóre: 49
Rozbalit Rozbalit vše Re: CVS + skript = automaticka synchonizace na vyvojarska PC ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Odpoveď v java konferencii Ti nestačila, takže skúšaš tu. :-) Obávam sa, že tu síce dostaneš odpoveď, ako raz denne checkoutneš projekt do nejakého adresára. Checkout je jeden príkaz, ktorý zjavne napísať vieš, stačí ho dať do cron-u. Vlastne, nepotreboval si to riešiť pod Windowsom?

Možno by bolo lepšie, keby si napísal, aký pôvodný problém sa práve snažíš riešiť. Obávam sa totiž, že to, čo sa snažíš urobiť, situáciu iba zhorší. Vývojár jeden ďeň kóduje vo svojej working copy. Prácu nekomitne, lebo konflikty. Na druhé ráno chce pokračovať s čerstvou kópiou (Akou vlastne, keď večer nikto nekomitoval? Ok, nejakí odvážlivci sa našli.). Updatovať ale tiež nechce, lebo konflikty. Takže s Tvojím riešením má na stroji dve verzie: svoju rozpracovanú, a čerstvo čekautnutú, ale bez svojich lokálnych zmien. A teraz mi povedz, ako sa jeho lokálne zmeny dostanú do čerstvej kópie? Kedy a ako sa konflikty vyriešia? Konflikty pri práci s VCS je potrebné riešiť ASAP. Ak máte VEĽA konfliktov, pravdepodobne robíte niečo zle: máte zle rozdelenú prácu, komitujete len zriedkavo a ešte zriedkavejšie updatujete (programátor predsa predsa updatovať, keď mu to lokálna kópia funguje, čo ak niekto urobil zmeny, a on sa nimi bude musieť zaoberať?).

Infraštruktúru programátorských tímov som už párkrát riešil (a vyriešil). Ak chceš, môžeme to prebrať mimo toto fórum. Mám pocit, že Tvoj problém sa Linuxu absolútne netýka.
9.11.2007 18:32 Martin Doucha | skóre: 23 | blog: Yet another blog
Rozbalit Rozbalit vše Re: CVS + skript = automaticka synchonizace na vyvojarska PC ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dovolil bych si doporučit zahození CVS a použití něčeho rozumnějšího, například Gitu nebo Mercurialu. V nejhorším případě je i Subversion lepší možnost než CVS a má nástroje pro snadný import již existujícího CVS repozitáře.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.