Verzovací systém s konfigurací mimo zdrojáky

Refactoring Killing Spree

Verzovací systém s konfigurací mimo zdrojáky
« kdy: 10. 01. 2014, 23:28:40 »
Ahoj, neví někdo jestli existuje verzovací systém, který umožňuje mít konfiguraci / repozitář mimo adresář se zdrojáky?

Příklad:

V práci používám CM Synergy a máme to tak, že když se na nějakém zdrojáku (jen Oracle PL/SQL objekty jako procedury, funkce, package, triggery, view (manuální ORM...) atp.) kódí, tak se dá na ten soubor checkout a nikdo jiný na něm nesmí pracovat (už proto, že máme sdílenou databázi), adresář se soubory je v adresáří na síťovém disku. Jednou z nevýhod našeho přístupu je, že v historii změn je soubor jenom před změnou a po ní, takže pokud to trochu přeženu a zdroják (často hrozně napsaný a naformátovaný, ten systém má 15+ let) překopu, tak naseru člověka co to po mě bude kontrolovat (proces), protože v porovnání uvidí příliš mnoho změn které je třeba ověřit. Soubory jsou navázány na tasky, takže v ideálním případě v tasku přibyde jen soubor který bude obsahovat změny které souvisí přímo s oním taskem. Tohle mě hodně sere, potřeboval  bych něco do čeho bych nahrál soubor pro onen task, tam si dělal změny a co chvíli to commitoval, a přitom by to mělo repozitář mimo ten sdílený adresář (nemůžu si tam narhát vlastní .hg složku...) ale zároveň se to s ním synchronizovalo, už kvůli tomu že Synergy repozitář býva v noci zálohován.

Pro C++ část kódu to robím tak, že si v Synergy vykopíruju zdroják, soubory vycheckoutuju (tam jsou paralelky povoleny, alespoň do commitu) v tasku a přidám si je do mercurialu, pak si developím a commituju do mercurialu a dávám sync na synergy a nakonec když je kontrola tak mám alespoň možnost ukázat změny v mercurialu kde to při více krocích není takový guláš. Do Synergy se nesmí commitovat nefunkční kód, commit se dělá až při dokončení tasku (např. zpracování příchozích dat ze SAPu, přidání sloupečku do tabulky, tlačítka atp.) takže v historii jsou vždy jen funkční změny.

Potřebuju něco vymyslet pro to SQLko. V ideálním případě si locknu pro sebe všechny *.sql  soubory a na svojem disku si udělám nový repository pro ten task a přídám do toho ty soubory co jsou na sdíleném disku, working copy bude na sdíleném ale commity se budou ukládat lokálně. V podstatě potřebuji aby mercurial mohl mít .hg složku v jiném adresáři než je zdroják na kterém pracuji. Druhou možností je nějaký udělátko co to bude pravidelně Syncovat z working copy na lokál kde to budu moci commitovat.

Nějaké doporučení jak na to? Pracovní prostředí Win 2003 a pokud možno by to mělo jít udělat bez admin práv, nehodlám se patlat s tím abych někoho přesvědčoval aby mi něco nainstaloval, stejně to musí projít auditem a je to složité...
« Poslední změna: 10. 01. 2014, 23:42:20 od Petr Krčmář »


Sten

Re:Verzovací systém který má konfiguraci mimo adresář se zdrojáky?
« Odpověď #1 kdy: 10. 01. 2014, 23:46:53 »
Nevím, jak Mercurial, ale Git umí parametr --git-dir či použít proměnná prostředí GIT_DIR, kterou jde uvést cestu k repozitáři