V2'yi v3 FSFS yıkım dosya sistemine yükseltme


9

İlk olarak, (TortoiseSVN kullanarak) gövde ile bir şube yeniden entegre etmeye çalışıyorum ama "Birleştirme bilgisi sorgulama FSFS dosya sistemi şeması sürüm 3 gerektirir; dosya sistemi E: / MyRepository / yalnızca sürüm 2 kullanır" hata iletisi alıyorum.

Subversiyonun önceki versiyonlarında şubeleri yeniden entegre etmek gerçekten mümkün olmadı mı? Yoksa bunu yapmanın başka bir yolu var mı?

Her neyse, dosya sistemini sürüm 2'den sürüm 3'e nasıl yükseltebilirim?


Yanıtlar:


6

Sunucunuzun çalıştığı Subversion sürümünü belirtmediniz. Ancak soruda verdiğiniz mesaja dayanarak, muhtemelen 1.4.x veya daha eski bir sürümdür. 1.4.x'den 1.5.x'e dönüştürme için sağlanan bir yükseltme komutu olup olmadığını hatırlamıyorum, ancak deponuzu sürüm 2'den sürüme almanın kesin dosya yolu bir döküm ve yükleme. Ama bu önemli değil, yine de en son sürümle gitmek için 1.6.x'i yüklemek isteyeceksiniz. İşte yapmanız gereken adımlar:

  • Henüz yapmadıysanız Subversion 1.6.x sürümüne geçin
  • Svnadmin dökümü kullanarak mevcut deponuzu boşaltın
  • Yeni bir repo oluşturun, _new deyin
  • Svnadmin yükünü kullanarak eski deponuzla yeni repo'nuzu yükleyin
  • Uuid dosyasını eski depodan yeni depoya kopyalayın
  • eski havuzu _old olarak yeniden adlandır
  • yeni havuzu yeniden adlandır

Somut bir örnek için bkz. Subversion SSS http://subversion.apache.org/faq.html#dumpload .

Bu sizi halletmeli ve uuid dosyası müşterilerinizin çıldırmasını önleyecektir. Emin olmak için bir svn güncellemesi yapın.


2
dan svnadmin help loadmesajla: --force-uuid : set repos UUID to that found in stream, if any. Kısacası: dosyalarla oynamaya gerek yok
Hubert Kario

@Hubert Kario: Evet, komut satırında bu seçenek var. Ancak tüm GUI istemcileri bunu yapmaz. Ve sunucu tarafında yapabiliyorsanız, bu sadece kullanıcılar için daha kolay hale getirir. Ama bir dahaki sefere bu problemle karşılaştığımda o anahtarı aklımda tutacağım. Bahşiş için teşekkürler!
jgifford25

Yeni deponuzu oluştururken, izinleri ayarlama konusunda dikkatli olun. Örneğin, depoya apache mod_svn aracılığıyla erişiyorsanız, apache "www" kullanıcısı, grup "www" altında çalışır ve "fred" olarak giriş yaparsanız, muhtemelen şöyle bir şeye ihtiyacınız olacaktır: sudo chown -R fred:www myrepositoryardından a sudo chmod g+wto myrepository/db/repcache.dbvemyrepository/db/uuid
xgretsch

8

Subversion depolarını yükseltmek için döküm / yük gerekmez. Svnadmin yükseltme komutunu kullanın:

svnadmin upgrade <path-to-repos>

NOT: svnadmin yükseltmesi "yalnızca havuzun bütünlüğünü korurken bunu gerçekleştirmek için gereken minimum işi gerçekleştirir. Bir döküm ve sonraki yük en iyileştirilmiş depo durumunu garanti ederken, svnadmin yükseltme işlemi gerçekleştirmez." - ayrıca bkz. svnadmin yükseltme belgeleri


1
Bununla birlikte, bunun "deponun bütünlüğünü korurken bunu gerçekleştirmek için gereken minimum iş miktarını gerçekleştirdiğini unutmayın. Bir döküm ve sonraki yük en iyileştirilmiş depo durumunu garanti ederken, svnadmin yükseltme işlemi gerçekleştirmez." - ayrıca bkz. svnbook.red-bean.com/en/1.7/svn.ref.svnadmin.c.upgrade.html
Jörg

1
NOT, svnadmin yükseltmesini kullanarak "daha önce her zaman deponuzu yedeklemelisiniz", oysa döküm / yük ile örtük yedek yedeğiniz var.
Jörg

5

Ivan'ın iyi bir ipucu var, denedim ve çok basit.

svnadmin upgrade <path-to-repos>

Ivans örneğinde kaçırdığım bir şey, başkaları için yararlı olabilir:

Ör.

<path-to-repos> = C:\repos\theRepo
(ie. NOT C:\repos\theRepo\db)

Svnadmin'i db dizinine değil, db dizinini içeren dizine yöneltmeyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.