2008-09-19 19 views
6

Üzgünüm, SVN için yeni ve bunun için biraz etrafa baktım. SVN'de büyük bir sürümü nasıl işaretlersiniz, nasıl bir geri yükleme noktası kurarsınız. Şu anda sunucumu kurdum ve tüm dosyalarımı ekledim - aralıklı olarak farklı değişiklikler yaptım. Kararlı bir durumda bir şey olduğunda, bunu işaretlemek için bir yol var mı?SVN mark büyük versiyonu

cevap

11

normal yolu depo kök bir 'etiket' dizini yaratmaktır "zaman içinde bir proje‘fotoğrafları’sadece A etiket" ve tüm gövdeyi bu dizine kopyalayın. (Sadece mevcut dosyaların belirli revizyonlar için referanslar ekleyerek çünkü Kopyalama Subversion ucuz.)

Yani diyebilirsiniz:

svn cp http://svn.example.com/trunk/ http://svn.example.com/tags/major-revision-01/ 

fazla bilgi, özellikle tags bölüm için the Subversion book bakınız.

0

bu sayfayı okumayı deneyin svn copy. Temel olarak sadece bir svn kopyasına ihtiyacınız var.

1

svn standart yapısını kullanıyorsanız, bir dal, etiket ve gövde klasörünüz olmalıdır.

Yapmak istediğiniz şey, geçerli bagajın bir kopyasını etiketlerdeki bir klasöre yapmaktır.

Örnek komut satırı:

svn mysvnurl/myproject/gövde mysvnurl/myproject/etiketleri kopyalamak/CVS ise majorrelease_01

0

, bu bir "etiket" olarak adlandırıldı. SVN etiketler için ayrı bir mekanizma kullanmaz, sadece bir şube oluşturur. Bu yüzden yeni bir şube oluştur ve ona "release-1.2" gibi açıklayıcı bir isim ver.

+0

Kahretsin, 4 daha fazla kişi bu yazmaya götürdü sürede cevap her 15 dakika). – MrZebra

3

Tüm yaptığımız bir şube oluşturmak olduğunu);

Alternatif tembel yolu bir metin dosyasına geçerli depo revizyon numarasını not etmek olacaktır. Standart kök seviye dizinlerine sahibiz: gövde, etiketler, sürümler, şubeler.

Hatırlanması gereken en önemli şey, tüm dallanmanın bir kopya oluşturması gibidir, ve gövdenin tüm dalları bir kopyasını oluşturmak gibidir (bunun dışında sadece bir delildir).

Bizim için tüm gelişmeler bagajda yapılır. Birisi büyük bir yeniden çalışma yapıyorsa, o zaman bunu şubelere koymaya eğilimlidir. Başlıca sürümler sürümlere aktarılır ve etiketlemek istediğimiz diğer tüm etiketler ve öğeler etiketler klasörüne yerleştirilir. Bizim bültenleri için

, aşağıdaki dizin yapısını adres: İşte başka yararlı bir fikir

repository 
+--trunk 
+--releases 
    +--v1.0 
    +--v1.1 
    +--v1.4 
    +--v2.0 
+--branches 
+--tags 
0

. Sabit bir aralıkta otomatik olarak etiketlemek için CruiseControl (veya CruiseControl.NET) kullanın (örn.Gece veya

Get A Build Process Now!