Prskavčí blog

Feb 18, 2009 - Comments

Subversion a spojení dvou repozitory

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.


  1. Můžete vzít zase svoji WC a tu naimportovat do původního repozitory
  2. Nebo zahodit staré SVN a udělat dump nového a to naimportovat místo starého.
  3. Nebo mít na serveru obě repozitory.
  4. 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.
  1. Vygenerovat diff patche pro jednotlivé revize v nové repozitory a ty aplikovat postupně na WC ze původního repozitory.
  2. Udělat dump repozitory pomocí svnadmin dump a potom použít příkaz svnadmin load  s nastavením –parent-dir a import provést do jiné branche.
  3. Udělat dump pomocí svnadmin dump s parametrem –incremental a se stejným parametrem jej i importovat. Tento postup uvádějí v manuálu, ale nemám ho zatím odzkoušený.
  4. 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.

Tags: scm svn

Subversion a directive SVNIndexXSLT Git-SVN vs Bzr-SVN

comments powered by Disqus