Subversion error: (405 Metod Kullanılamaz) MKCOL'ye cevaben


65

Yeni bir dizin eklemeye çalışırken aşağıdaki hatayı alıyorum.

svn: Commit failed (details follow):
svn: Server sent unexpected return value (405 Method Not Allowed) in response to MKCOL request for '....

Bu hatayı daha önce hiç görmedim. Bu sorunu nasıl düzeltebilirim?

Çözüm
Sorunu çözmeyi başardım:

  • Ebeveynin soruna neden olan klasörün dizinini silin.
  • SVN Güncellemesi yapın.
  • Depoda yeni adıyla aynı adı taşıyan bir klasör zaten vardı.
  • Bu klasörü sil.
  • SVN taahhüdü.
  • Yeni klasörü kopyalayın, ekleme için zamanlama ve SVN kabul etme.

İstemciniz ve sunucunuz arasında bir web önbellek servisi kullanıyorsanız, yapılandırmanız, aktarmanız (HTTP / HTTPS), sunucu hata günlüğündeki iletiler (en önemlisi) gibi bilgileriniz
eksik

7
Lütfen soruya eklemek yerine cevap olarak çözümler ekleyin
Sam Cogan

3
SVN'nin hata yapıp durmasından nefret ediyorum. Her zaman sniveling bir çocuk gibi görünüyor. Daha sonra ekledim ve daha sonra adanmış ve sihirli bir şekilde sunucu kabul edildi.

Google kod deposu için bkz - stackoverflow.com/a/32636072/1406510
nanosoft

Yanıtlar:


44

Bu hata genellikle eklemeye çalıştığınız klasörün depoda zaten bulunduğunu gösterir - yakın zamanda bir güncelleme yaptınız mı ya da başlamak için yinelemeli olmayan bir ödeme yaptınız mı?

Bu hatayı daha önce karşıladım - sorunun ne olduğunu söyleyen bir blog buldum. Çözüm biraz daha karmaşıktı, söz konusu dizini çalışma kopyamdan kaldırın (başka bir yere kopyalayın), yinelemeli bir güncelleme yapın, sonra iki dizini elle birleştirin.

Düzenleme: Opps - zaten soru gövdesinde cevap verdi. Burada cevapsız bir sorunun cevabını bildiğim için çok heyecanlandım :)


@Andrew - peki, soruyu doğru cevapladın ... @Sergio kendi sorusunu cevaplamalıydı.
Josh

8

Googlecode üzerinde MKACTIVITY ile benzer bir sorun vardı. Bunun sebebi, depoyu http: ile kontrol etmemdi, ancak girişler https: olmalıydı.


Harika yakalama - Sabırsız programcının öfkesini makinemde açığa çıkarmak üzereydim. :) Ya klasörü https ile yeniden kontrol etmeniz gerekir: (ya da .svn dışındaki klasörü temizledikten sonra http:> https'den URL'yi içeren .svn / girişlerinin içeriğini değiştirin. taahhüt ekranı https URL’sini gösterir.)
Gishu


5

Aynı hatayı aldım ve çözmeyi başardım:

  1. SVN Sorunlu dizini 'foo' olarak veya yeniden adlandırın
  2. SVN Taahhüdü
  3. SVN İstediğiniz isme geri dönün
  4. SVN Taahhüdü

Bunun her durumda işe yarayıp yaramadığından emin değilim, ancak ana dizini silmekten daha kolaydır.


Bu basit çözüm sorunumu çözdü. Çok teşekkürler! :)
consuela

4

Svn havuzunuz HTTP üzerinden işlem yapmanıza izin veriyor mu? SourceForge gibi bazı depolar, HTTP üzerinden isimsiz kullanıma izin verir , ancak geliştiricilerin svn ve SSH üzerinden check-in yaptırmalarını gerektirir.


3

Benim durumumda, bir klasör içindeki dosyaları kontrol etmekte sorun yaşıyordum. Birkaç değişiklikle Sergio'nun belirttiği adımları takip ettim.

  1. Sorun ana dizini kopyalandı.
  2. Kopyalanan dizindeki .svn dosyaları silindi
  3. svn delete / parent_directory
  4. işlemek
  5. Depoda yeni dizin oluştur
  6. işlemek
  7. Alt dizinleri kopyalanan dizinden repoya taşı
  8. işlemek
  9. Tek tek dosyaları kopyala
  10. işlemek

Karşılaştığım birkaç dosyam vardı. Onları havuzun dışında bıraktım ama yeni bir isimle onları yeniden yarattım.


2

SVN formundaki bir dizini kaldırdığımda bu sorunu yaşadım ve yeni eklenen dizini işlediğimde yeniden yarattım, SVN bu hatayı verdi. Yeni eklenen dizinde bir SVN çalıştırarak sorunu çözdüm ve sonra çatışmaları manuel olarak çözdüm .


1

Barındırılan bir svn hizmeti olan Unfuddle'ı kullanarak, .svn OS X bulucusunda dosya kopyalama ile ezildiğinde bu hatayı tekrar tekrar görüyorum. Benim için çalışan svn teşvik:

  • eski haline dönmek
  • Güncelleme
  • uzak url’yi kullanarak klasörü silin
  • klasörü ekle ve ekle

0

Benim durumumda, yerel (istemci) meta verilerimin zaten sunucuda olduğunu varsaydığı yeni bir dizin ekliyordum ve Temizleme onu düzeltmedi. Tüm yeni ve değiştirilmiş dosyaları yedekledim, her şeyi sildim (root .svn klasörü hariç), dosyaları geri yüklemek için Güncelle'yi çalıştırdım ve yedeklediğim yeni ve değiştirilmiş dosyaları tekrar dizine kopyaladım. Yeni dosyaları tekrar ekledim ve başarılı bir şekilde görevlendirdim.


0

Eclipse'de düzeltilmesi kolaydır.

Takım> Başka bir Etikete / şubeye geç

Seçin, tamamen özyinelemeli ve Çalışma kopyasını belirtilen derinlikte değiştir seçeneğini işaretleyin.

tamam tuşuna basın

Klasörün simgesi değişir. Sağ tıklayın ve (takım>) Mark Çözüldü.

İşte bu, şimdi taahhüt edebilirsin.


Eclipse'in bir geliştirme aracı olduğunu ve gerçekten de ServerFault'un odak noktası olmadığını unutmayın.
Andrew B,

0

Klasörün yedeğini alın.
Depodaki klasörü silin (Depo Tarayıcı kullanarak).
Tekrar tamamla.

Benim için iyi çalışıyor.
Marcus


0

Benzer bir problem yaşadım, svn klasörünü güncellemekten çok (sadece güvenlik amaçlı) dizini yedekledim. ondan sonra tekrar taahhüt edebilirim. (ve yedeğimi kullanmadım)


-1

E175002 200 OK ile ilgili bir sorunum var. Ama hata mesajındaki yolun yanlış bir sunucudan bahsettiğini okudum, bu yüzden bagajımın URL'si iyi değildi ( http: // localhost: 80 / yol / to / my / trunk / )… bekle! YERELDİR? ... Ve şimdi farkettim ki, ilk revizyonumda ayarlarım yerelde proje dosyalarımı repoma gönderdi… İlk revizyonunuzda sunucunuzun IP ayarlarının yanlış olmadığından emin olun çünkü ondan sonra ... repo yanlış bilgiler içerecektir ve bu kötü ayarları değiştirmek için veya reponuzu ilk kez kullanmak isteyen her müşteri için bir yol bulmalısınız.

Düzeltmem projemin her klasörünü kontrol etmekti ... Her klasörde bilgileri saklayan .svn klasörü ve her .svn klasöründe "girdi" adı verilen bir dosya var ... Bu dosyada sunucuya giden bir yol var her .svn klasöründe. Ve sonra başka hata yok.

Umarım yardımcı olur. :) üzgünüm benim yazıyı anlamak zor ise ^^ 'Ben bir zor daha yaşıyorum.

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.