SVN: Klasör zaten sürüm kontrolü altında ancak tamamlanmıyor mu?


111
mark@mark-ubuntu:~/myproject$ svn stat
?       runserver.sh
?       media/images/icons
?       apps/autocomplete
mark@mark-ubuntu:~/myproject$ svn add apps/autocomplete
svn: warning: 'apps/autocomplete' is already under version control

svn statsürüm kontrolü altında olmadığını söylüyor, bu yüzden eklemeye çalışıyorum ve sonra bana öyle olduğunu söylüyor. Bir yaptığımda svn ci, tamamlanmıyor ve çevrimiçi depoya göz atmaya çalıştığımda görünmüyor.

İşlenmesini nasıl sağlarım?


3
"Otomatik tamamlama" klasörü bozuk bir ".svn" alt dizini içeriyor mu? Ayrıca temizledin mi? :)
bzlm

1
Bir: svn temizleme denediniz mi, sadece karanlıkta bir bıçak mı?
shaunhusain

Projemdeki bir dizini başka bir klasöre kopyaladığımda bu sorunla karşılaştım. Eski .svn siliniyor!
paulrehkugler

: Ben zorla dosyaları ekledik svn add --force /path/to/fileözyinelemeli dizin eklemek istiyorsanız, ya: svn add --depth infinity --force /path/to/directory.
joker

Yanıtlar:


162

Sorunlu klasörü bazı yedekleme dizinlerine kopyalayın ve SVN çalışma dizininizden kaldırın. Tüm .svngizli dizinleri kopyalanan klasörden silmeyi unutmayın .

Şimdi projenizi güncelleyin, kalanları temizleyin ve işleyin. Şimdi klasörünüzü çalışma dizinine geri taşıyın, ekleyin ve kesin. Bu geçici çözüm çoğu zaman işe yarıyor, temelde SVN'nin kafası karışmış gibi görünüyor ...

Güncelleme: @Mark tarafından yapılan yorum alıntı :

Klasörü taşımanıza gerek yoktu, sadece .svnklasörü silip svn ekleyerek çalıştı.


52
Klasörü taşımanıza gerek yoktu, sadece .svnklasörü silip svn ekleyerek çalıştı.
mpen

6
Günümü yaptığım için +1 ;-) Mark'ın dediği gibi, benim için sorunlu klasördeki .svn dizinlerini kaldırmak yeterliydi.
rturrado

23
SVN'yi mutlak BS olarak tanımladığınız için teşekkür ederiz.
Steve K

1
şimdi sadece üst klasörde .svn olduğuna göre, meta bozuk ise, tost, bu BS yapamam
Kalpesh Soni

Zaten kaydedilmişse listeden üst klasörün (uygulamalar / otomatik tamamlama) işaretini kaldırın
khaled_webdev

20

.Svn dizinlerini içeren bir dizin ağacını ekledikten sonra benzer görünümlü bir sorun yaşadım (çünkü kaynak ortamında bir svn: harici idi): svn durumu bana "?" Dedi, ancak eklemeye çalışırken "zaten oldu sürüm kontrolü altında ".

Sürümlendirilmiş başka bir dizin bulunmadığından

find . -mindepth 2 -name '.svn' -exec rm -rf '{}' \;

yanlış .svn dizinlerini kaldırmak için; bunu yaptıktan sonra yeni dizini ekleyebildim.

Not :

  • Başka sürümlü dizinler varsa, bulma ifadesi daha spesifik olacak şekilde değiştirilmelidir.
  • Emin değilseniz, neyin silineceğini görmek için önce "-exec ..." bölümünü atlayın

Bu cevap benim için işe yarasa da, ilk kullandığımda yanlış klasördeydim ve işleri oldukça karışık bir hale getirdim. İnsanlara "iki kez ölçün, bir kez kesin" yani bunu çalıştırmadan önce ayrıntıları iki kez kontrol etmelerini hatırlatmak için iyi bir yer gibi görünüyor.
BishopZ

... -exec echo {} \;-Exec anahtarınızın da iyi çalışmasını sağlayabilmeniz için 'emin değilseniz ' seçeneğini öneririm .
FlipMcF

-type dbulmaya bir eklemenizi de öneririz . rm -rfBiraz fazla ileri gidene kadar beni seçici deyin . Niteliklerim dışında - bence bu doğru cevap.
FlipMcF


14

(1) Bu benim başıma geldi ve nasıl olduğunun ilginç olduğunu düşündüm . Temel olarak, tüm gizli .svn dizinlerini getireceğini unutarak, klasörü yeni bir konuma kopyalayıp değiştirdim. Bunun nasıl olduğunu anladığınızda, gelecekte kaçınmak daha kolaydır.

(2) .svn dizinlerini kaldırmak çözümdür, ancak bunu dizin ağacının sonuna kadar yinelemeli olarak yapmanız gerekir. Bunu yapmanın en kolay yolu:

find troublesome_folder -name .svn -exec rm -rf {} \;

3

Bir svn temizliği yapmayı denediniz mi?


2
Ben de bu problemle karşılaştım. Sonra denedi svn cleanupve yardım etmedi.
imacake

3

'Apps / autocomplete / .svn' dizinini kontrol edin. Güvenli bir yere taşıyın (işe yaramadığı için geri yüklemeniz gerekirse) ve bunun sorunu çözüp çözmediğine bakın.


0

SVN Client JavaHL (JNI) 1.8.13 ve Tortoise ile Eclipse (Luna) kurduysanız bir çözüm buldum :

Eclipse'i açın: Önce proje / maven modülünü Sürüm Kontrolüne eklemeyi deneyin (Proje -> Bağlam Menüsü -> Takım -> Sürüm Kontrolüne Ekle)

Aşağıdaki Eclipse hata mesajını göreceksiniz:

org.apache.subversion.javahl.ClientException: Giriş zaten mevcut svn: 'PathToYouProject' zaten sürüm kontrolü altında

Bundan sonra, gezginde çalışma alanı dizininizi açmanız, projenizi seçmeniz ve Tortoise ile çözmeniz gerekir (Proje -> Bağlam Menüsü -> TortoiseSVN -> Çöz)

Aşağıdaki ileti iletişim kutusunu göreceksiniz: " Dosya listesi boş "

Eclipse'de iptal düğmesine basın ve projeyi yenileyin. Projeniz tekrar versiyon kontrolü altında olmalıdır.

Maalesef aynı anda birden fazla projeyi çözmek mümkün değil ... hiçbir şeyi silmenize gerek yok ama projenizin boyutuna bağlı olarak biraz zahmetli olabilir.


0

Benim için bir svn güncellemesi yapıyorum, ardından svn commit çalıştı. Klasörde eklenemeyen .svn klasörü yoktu.

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.