Depoyu taşımak ve geçmişi saklamak istiyorsanız, muhtemelen her iki ana bilgisayarda da dosya sistemi erişimine ihtiyacınız olacaktır. Arka ucunuz FSFS ise (son sürümlerde varsayılan) en basit çözüm, tüm depo klasörünün bir dosya sistemi kopyasını oluşturmaktır.
Bir Berkley DB arka ucunuz varsa, arka ucunuzun ne olduğundan emin değilseniz veya SVN sürüm numaralarını değiştiriyorsanız, svnadmin'i eski deponuzu boşaltmak ve yeni deponuza yüklemek için kullanmak isteyeceksiniz. depo. Kullanmak svnadmin dump
size yeni sisteme kopyalayabileceğiniz tek bir dosya yedeği verecektir. Daha sonra yeni (boş) depoyu oluşturabilir ve svnadmin load
temelde meta verileriyle (yazar, zaman damgası, vb.) Birlikte tüm taahhütleri yeniden oynatacak olan kullanabilirsiniz .
Döküm / yükleme süreci hakkında daha fazla bilgiyi burada bulabilirsiniz:
http://svnbook.red-bean.com/en/1.8/svn.reposadmin.maint.html#svn.reposadmin.maint.migrate
Ayrıca, bunu yaparsanız svnadmin load
, --force-uuid
seçeneği kullandığınızdan emin olun , aksi takdirde insanlar yeni depoya geçişte sorun yaşayacaktır. Subversion, depoyu dahili olarak tanımlamak için bir UUID kullanır ve çalışan bir kopyayı farklı bir depoya geçirmenize izin vermez.
Dosya sistemine erişiminiz yoksa, geçiş yapmanıza yardımcı olacak başka üçüncü taraf seçenekleri olabilir (veya bir şeyler yazabilirsiniz): esasen yeni depodaki her bir revizyonu yeniden oynatmak için svn günlüğünü kullanmanız gerekir ve daha sonra meta verileri düzeltin. Bunu yapmak için revprop-change ve revprop-change kanca komut dosyalarına ihtiyacınız olacak, bu da dosya sistemi erişimini varsayıyor, yani YMMV. Veya geçmişi saklamak istemiyorsanız, çalışma kopyanızı yeni depoya aktarmak için kullanabilirsiniz. Ama umarım durum bu değildir.
svnrdump dump https//remote/svn/trunk > repos.dump
. Çoğu durumda, komut SVN 1.6 ile de çalışır, ancak bazı sorunları olabilir, bkz. Docs. Hem * nix hem de Windows'ta çalışır.