2008-09-23 36 views
44

Include/exclude jargon ile kafam karışıyor ve gerçek SVN istemcim (ya da bunu kolayca bulamadık) için belirli bir dosya türü eklemek veya kaldırmak için basit bir seçenek gibi görünmüyor sürüm kontrolü.Subversion altında belirli bir dosya türünü nasıl eklersiniz/hariç tutarsınız?

Örneğin, Visual Studio klasörünün tamamını çözümler, projeler, hata ayıklama dosyaları vb. Ile ekledim, ancak yalnızca gerçek kaynak dosyalarını sürümlemek istiyorum. Bunu yapmanın en basit yolu ne olurdu?

cevap

57

Yeni bir tür ekleyebildiğinizden ve sürümlendirilmediğinden emin olamayacağınızdan, eklemek istediğinizleri seçmek yerine belirli dosya türlerini hariç tutmanız olasıdır.

Her bir dizin için, svn:ignore özelliğini düzenleyebilirsiniz.

görmezden desen listesiyle bir editör getirmek için her bir ilgili dizin için Çalıştır

svn propedit svn:ignore . 

.

*.user 
*.exe 
*.dll 

ve ne sana sahip:

Daha sonra her görmezden istediğiniz filetype karşılık gelen satırda bir desen koydu. (- Configuration Area Layout in the red bean book for more information bkz Windows veya "%APPDATA%\Subversion\config") öne sürülmüştür olarak

Alternatif olarak, global-ignores sizin ~/.subversion/Yapılandırma dosyasında özelliğine bu kalıpları ekleyebilir. Bu durumda, kalıpları boşluklarla ayırın. Benimki burada. Satırın başında # bir yorum tanıtıyor.

### Set global-ignores to a set of whitespace-delimited globs 
### which Subversion will ignore in its 'status' output, and 
### while importing or adding files and directories. 
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store 
global-ignores = Ankh.Load *.resharper.user 
+0

Cevabınız için çok teşekkürler! Oldukça bilgilendirici oldu. –

+1

TortoiseSVN'nin global ignore ayarlarını eklemek için proje klasörünüze sağ tıklayın, TortoiseSVN ... Ayarlar ... Genel ... ve Subversion alanında "Global ignore pattern" i düzenleyebilirsiniz. –

+0

Proje başına göz ardı etmek mümkün mü? Git'te olduğu gibi. Git'te, proje köprüsünde görmezden gelin ve küresel göz ardı edilmesine göre önceliklidir. –

1

En düşük düzeyde, SVN, svn:ignore özniteliği ile belirli dosyaları veya desenleri yok saymanıza olanak tanır. SVN için VisualSVN gibi VS eklentileri, sizin adınıza bu dosyaları otomatik olarak yok sayar. TortoiseSVN kullanıyorsanız, Explorer'da dosya ve klasörleri sağ tıklatıp Yoksayma Listesine Ekle'u seçin.

5

Bu, svn:ignore özelliğiyle veya ~/.subversion/config dosyanızdaki global ihmal özelliğini kullanarak gerçekleştirilebilir. (Özelliklerin düzenlenmesine ilişkin yönergeleri görmek için ilk bağlantının en üstüne gidin.)

Bir dizinde, svn propset veya svn propedit kullanarak, Subversion'ın bu diziyle eşleşen tüm dosyaları belirli dizinde yoksaymasını sağlayabilirsiniz. Ancak, ~/.subversion/config'un [miscellany] bölümündeki global ihmalleri değiştirirseniz, Subversion nerede bulunurlarsa bulunsun bu tür dosyaları yok sayar.

+0

Yorumunuz için teşekkür ederiz! –

1

svn:ignore özelliğini kullanarak joker karakterler kullanabilirsiniz.

2

Bkz blog yazısı svn:ignore: Ben Ankh .Load dosyaları ve tüm * .resharper.user dosyaları görmezden geldin.

TortoiseSVN kullanarak, bir öğeyi teslim aldığım bir kök klasörünü tıklatabildiğimi ve "Özellikler" menü öğesini seçerek isteğe bağlı özellikler ekleyebileceğimi biliyorum. Bu durumda, hariç tutulacak dosya kalıplarını belirtebilirsiniz.

Komut satırı öğeleri için blog yazısı, ancak kullandığınız istemci ile iyi çalışacağından eminim.

1

Başka bir yol, TortoiseSVN'yi kullanırken "Commit ..." öğesini seçebilir ve ardından bir dosyaya sağ tıklayıp "ignore-on-commit" değişkenine geçebilirsiniz.

İlgili konular