Kesalahan subversi: (405 Metode Tidak Diizinkan) sebagai respons terhadap MKCOL

65

Saya mendapatkan kesalahan berikut saat mencoba melakukan penambahan direktori baru.

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

Saya belum pernah melihat kesalahan ini sebelumnya. Bagaimana saya bisa memperbaiki masalah ini?

Solusi
Saya berhasil memecahkan masalah:

  • Hapus direktori induk folder yang memberikan masalah.
  • Lakukan Pembaruan SVN.
  • Folder dengan nama yang sama dengan yang baru sudah ada di repositori.
  • Hapus folder ini.
  • Komitmen SVN.
  • Salin folder baru, jadwal untuk penambahan dan komit SVN.
Sergio del Amo
sumber
Tidak memiliki informasi, seperti konfigurasi Anda, transportasi Anda (HTTP / HTTPS), pesan pada log kesalahan server (yang paling penting), jika Anda menjalankan layanan cache web antara klien dan server, dll ...
Juliano
7
Harap tambahkan solusi sebagai jawaban, alih-alih menambahkan ke pertanyaan
Sam Cogan
3
Aku benci svn memberi kesalahan dan berhenti. Itu terlihat seperti anak kecil yang menangis tersedu sepanjang waktu. Saya kembali, kemudian menambahkan kemudian berkomitmen dan server ajaib diterima.
Untuk repositori kode google, lihat - stackoverflow.com/a/32636072/1406510
nanosoft

Jawaban:

44

Kesalahan ini biasanya menunjukkan folder yang Anda coba tambahkan sudah ada di repositori - sudahkah Anda melakukan pembaruan baru-baru ini, atau apakah Anda melakukan checkout non-rekursif untuk memulai?

Saya sebelumnya mengalami kesalahan ini - menemukan sebuah blog yang memberi tahu saya apa masalahnya. Solusi sedikit lebih rumit, hapus direktori yang dimaksud dari copy pekerjaan saya (menyalinnya di tempat lain), jalankan pembaruan rekursif, kemudian gabungkan kedua direktori secara manual.

Sunting: Opps - sudah dijawab di badan pertanyaan. Dan di sini saya sangat senang bahwa saya tahu jawaban untuk pertanyaan yang belum terjawab :)

andrewc
sumber
@ Andrew - well, Anda menjawab pertanyaan dengan benar ... @Sergio seharusnya menjawab pertanyaannya sendiri.
Josh
8

Saya memiliki masalah yang sama dengan MKACTIVITY di googlecode. Itu karena saya telah memeriksa repositori dengan http :, tetapi check-in diperlukan https :.

Troy Daniels
sumber
Tangkapan hebat - Saya baru saja akan melepaskan amarah programmer yang tidak sabar pada komputer saya. :) Anda juga perlu memeriksa ulang folder dengan https: (atau jika Anda secara licik menghapus folder kecuali untuk .svn, lalu ubah konten .svn / entri yang memiliki url dari http => https. Sekarang layar komit akan menampilkan URL https.)
Gishu
5

Saya mendapatkan kesalahan yang sama dan berhasil menyelesaikannya:

  1. SVN Ubah nama direktori yang bermasalah menjadi 'foo', atau apa pun
  2. Komitmen SVN
  3. SVN Ganti nama kembali ke nama yang Anda inginkan
  4. Komitmen SVN

Saya tidak yakin apakah ini berfungsi dalam semua kasus, tetapi lebih sederhana daripada menghapus direktori induk.

Sam Dutton
sumber
Solusi sederhana itu menyelesaikan masalah saya. Terima kasih banyak! :)
consuela
4

Apakah repositori svn Anda memungkinkan melakukan melalui HTTP? Beberapa repositori, seperti SourceForge, memungkinkan checkout anonim melalui HTTP, tetapi mengharuskan pengembang untuk check-in melalui svn dan SSH.

Dave Cheney
sumber
3

Dalam kasus saya, saya mengalami masalah saat memeriksa file di dalam folder. Saya mengikuti langkah-langkah yang Sergio uraikan dengan beberapa perubahan.

  1. Menyalin direktori induk masalah.
  2. File .svn dihapus dalam direktori yang disalin
  3. svn delete / parent_directory
  4. Melakukan
  5. Buat direktori baru di repo
  6. Melakukan
  7. Pindahkan sub direktori dari direktori yang disalin ke repo
  8. Melakukan
  9. Salin file individual
  10. Melakukan

Saya punya beberapa file yang saya punya tantangan. Saya meninggalkan mereka dari repositori, tetapi membuatnya kembali dengan nama baru.

Dawn Green
sumber
2

Saya memiliki masalah ini ketika saya menghapus bentuk direktori SVN, dan kemudian membuatnya kembali, ketika saya melakukan direktori baru yang ditambahkan, SVN menghasilkan kesalahan ini. Saya memecahkan masalah dengan menjalankan SVN pada direktori baru yang ditambahkan, dan kemudian menyelesaikan konflik secara manual .

imikay
sumber
1

Menggunakan Unfuddle, layanan host svn, saya berulang kali melihat kesalahan ini ketika .svn diinjak-injak oleh penyalinan file di OS X finder. Mantra svn yang bekerja untuk saya:

  • kembali
  • memperbarui
  • hapus folder menggunakan url jarak jauh
  • tambahkan dan komit folder
xentek
sumber
0

Dalam kasus saya, saya menambahkan direktori baru yang diasumsikan metadata (klien) lokal saya sudah ada di server dan Pembersihan tidak memperbaikinya. Saya mencadangkan semua file baru dan yang dimodifikasi, menghapus semuanya (kecuali folder root .svn), menjalankan Pembaruan untuk mengembalikan file, dan menyalin kembali ke direktori file baru dan modifikasi yang telah saya buat cadangannya. Saya menambahkan file baru lagi dan berhasil melakukan.

stimpy77
sumber
0

Di Eclipse mudah diperbaiki.

Tim> Beralih ke Tag / cabang lain

Pilih, rekursif sepenuhnya dan centang Ubah copy pekerjaan ke kedalaman yang ditentukan

tekan OK

Ikon folder berubah. Klik kanan dan (tim>) Tandai Diselesaikan.

Itu dia, sekarang kamu bisa berkomitmen.

juliangonzalez
sumber
Ingatlah bahwa Eclipse adalah alat pengembangan, dan tidak benar-benar fokus ServerFault.
Andrew B
0

Buat cadangan folder.
Hapus folder di repositori (menggunakan Repo-Browser).
Berkomitmen lagi.

Bekerja dengan baik untuk saya.
Marcus

Marcus
sumber
0

saya punya masalah yang sama, saya membuat cadangan direktori (hanya untuk keamanan) daripada memperbarui folder svn. setelah itu saya bisa melakukan lagi. (dan tidak menggunakan cadangan saya)

Ohad Cohen
sumber
-1

Saya punya masalah dengan e175002 200 OK. Tetapi saya membaca bahwa path pada pesan kesalahan berbicara tentang server yang salah, jadi URL trunk saya bukan yang baik ( http: // localhost: 80 / path / to / my / trunk / ) ... tunggu! LOCALHOST ?! ... Dan sekarang saya menyadari bahwa itu karena pada rev pertama saya pengaturan saya mengirim file proyek saya ke repo saya secara lokal ... Jadi pada rev pertama Anda pastikan pengaturan Anda untuk IP server Anda tidak salah karena setelah itu ... Anda repo akan berisi informasi yang salah, dan Anda harus menemukan cara untuk mengubah pengaturan buruk itu, atau pada setiap klien yang ingin menggunakan repo Anda untuk pertama kalinya.

Perbaikan saya adalah memeriksa setiap folder proyek saya .... pada setiap folder ada folder .svn yang menyimpan informasi, dan pada setiap folder .svn file yang disebut "entri" ... Dalam file ini ada jalur ke server, saya mengganti garis yang buruk dengan IP yang baik di setiap entri yang disimpan di setiap folder .svn. Dan kemudian tidak ada lagi kesalahan.

Semoga ini bisa membantu. :) maaf jika sulit untuk memahami posting saya ^^ 'Saya seorang yang berusaha lebih keras.

Claod
sumber