Pokud se vám někdy stane, že pracujete na projektu a máte vzdálený SVN server dejme tomu např. s 500 revizemi.
Teď ale jedete někam pryč kde nemáte připojení k internetu nebo má server výpadek. Pracovat na projektu musíte, tak např. pomocí TSVN uděláte lokální repozitory a importujete working copy a pracujete dál, uděláte 50 revizí a server zase začne fungovat.
Co teď? Máte podle mne tyto možnosti.
- Můžete vzít zase svoji WC a tu naimportovat do původního repozitory
- Nebo zahodit staré SVN a udělat dump nového a to naimportovat místo starého.
- Nebo mít na serveru obě repozitory.
- Spojení obou repozitory
SVN Merge
Já jsem pro spojení obou repozitory, to se dá udělat také různě. Napadají mě dvě možnosti jak to provést.
- Vygenerovat diff patche pro jednotlivé revize v nové repozitory a ty aplikovat postupně na WC ze původního repozitory.
- Udělat dump repozitory pomocí
svnadmin dumpa potom použít příkazsvnadmin loads nastavením--parent-dira import provést do jiné branche. Udělat dump pomocísvnadmin dumps parametrem--incrementala se stejným parametrem jej i importovat. Tento postup uvádějí v manuálu, ale nemám ho zatím odzkoušený.- můžete také použít svndumptool a udělat merge na úrovni dump souborů, to mi přijde nejlepší řešení pokud požadujete jednu větev vývoje.
Pokud máte nějaké jiné zkušenosti se spojováním repozitory doufám, že to uvedete v komentářích. Ozvěte se také pokud by byl zájem, můžu uvést nějaký příklad s tím jak se to dělá pomocí příkazového řádku, krok za krokem.
