Portál AbcLinuxu, 29. prosince 2025 13:39
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.
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č.
... 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?
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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.