Saya mendapatkan kesalahan ini ketika saya melakukan svn update
:
Salinan yang berfungsi XXXXXXXX terkunci Harap jalankan perintah "Bersihkan"
Ketika saya menjalankan pembersihan, saya mengerti
Pembersihan gagal memproses jalur berikut: XXXXXXXX
Bagaimana saya keluar dari loop ini?
svn
tortoisesvn
Dan
sumber
sumber
Jawaban:
Satu pendekatan adalah:
Pilihan lain adalah menghapus folder tingkat atas dan memeriksa lagi. Semoga itu tidak terjadi.
sumber
Bagi saya, triknya adalah menjalankan
svn cleanup
di bagian atas copy pekerjaan saya, bukan di folder tempat saya bekerja sepanjang waktu sebelum masalah terjadi.sumber
Lihat di
.svn
folder Anda , akan ada file di dalamnya yang disebutlock
. Hapus file itu dan Anda akan dapat memperbarui. Mungkin ada lebih banyak file kunci di.svn
direktori setiap subdirektori. Mereka juga perlu dihapus. Ini bisa dilakukan sebagai batch cukup sederhana dari baris perintah dengan misPerhatikan bahwa Anda mengedit file secara manual di
.svn
folder. Mereka ditempatkan di sana karena suatu alasan. Alasan itu mungkin sebuah kesalahan, tetapi jika tidak, Anda bisa merusak salinan lokal Anda.SUMBER: http://www.svnforum.org/2017/viewtopic.php?p=6068
sumber
find . | grep ".svn/lock" | xargs rm
Dalam kasus saya, saya memecahkannya dengan secara manual menghapus catatan dalam catatan kunci file SQLite ".svn \ wc" di tabel WC_LOCK.
Saya membuka file "WC" dengan editor SQLite dan dieksekusi
Mengikuti komentar eakkas , Anda mungkin perlu menghapus semua entri dari
WORK_QUEUE
tabel juga.sumber
Cara termudah:
Clean up working copy status
,Break locks
,Fix time stamps
,Vacuum pristine copies
,Refresh shell overlays
,Include externals
Anda berhasil melakukan pekerjaan Anda.
Periksa tangkapan layar untuk referensi Anda.
Langkah pertama:
Langkah kedua: Aktifkan opsi Break lock (kotak centang kedua di jendela sembulan pembersihan)
Semoga ini banyak membantu Anda.
sumber
Seorang kolega di tempat kerja terus-menerus melihat pesan ini, dan baginya itu karena ia menghapus direktori di bawah kontrol versi SVN tanpa menghapusnya dari SVN, dan kemudian membuat direktori baru di tempatnya bukan di bawah kontrol versi, dengan nama yang sama.
Jika ini masalah Anda ...:
Ada beberapa cara untuk memperbaikinya, tergantung pada bagaimana / mengapa direktori diganti.
Bagaimanapun, Anda mungkin perlu:
A) Ubah nama direktori yang ada menjadi nama sementara
B) Lakukan pengembalian SVN untuk memulihkan direktori yang dihapus dari sistem file, tetapi tidak dari SVN
Dari sana, Anda juga akan
A) Salin file yang relevan ke direktori yang telah dihapus
B) Jika Anda memiliki perubahan yang signifikan dari isi direktori, melakukan SVN menghapus pada asli, komit, dan mengubah nama Anda direktori kembali baru ke nama yang diinginkan, diikuti oleh SVN menambahkan untuk mendapatkan yang satu di bawah kontrol versi.
sumber
Bagi saya tidak ada solusi di atas yang berhasil. Saya menemukan solusi dengan memecahkan kunci. Ketika saya melakukan pembersihan svn, saya memilih "Break Locks" bersama dengan "Clean up working copy status".
sumber
Yang ini berhasil untuk saya.
Setelah membersihkan itu akan memungkinkan Anda untuk memperbarui ke versi terbaru.
sumber
Clean up working copy status
danBreaks locks
danInclude externals
Bagi saya, itu sebenarnya kesalahan Tortoise, semacam. Tortoise hanya mengeluh "tidak bisa membersihkan, menjalankan pembersihan", tetapi ketika saya menjalankan baris perintah (svn cleanup), ia dengan jelas mengatakan kepada saya bahwa itu tidak dapat menghapus beberapa file yang sedang digunakan, solusi yang sudah jelas. Setelah saya menutup Visual Studio (yang membuat file tetap terbuka), maka pembersihan bekerja dengan baik.
Program lain juga dapat membuat file tetap terbuka di repo yang menyebabkan masalah ini. Excel memegang xls terbuka adalah penyebab di contoh lain sehingga mungkin bijaksana untuk menutup semua program yang mungkin menggunakan apa pun di repo atau bahkan me-reboot untuk memaksa program untuk menutup dan kemudian mencoba pembersihan lagi.
sumber
Saya mengalami masalah ini karena folder eksternal tidak ingin ditautkan ke folder yang ada. Jika Anda menambahkan baris properti svn: externals di mana tujuannya adalah folder yang ada (versi atau non-versi), Anda akan mendapatkan kesalahan terkunci SVN Woring Copy. Di sini pembersihan juga akan memberi tahu Anda bahwa segalanya baik-baik saja tetapi masih memperbarui tidak akan berhasil.
Solusi: Hapus folder yang bermasalah dari repositori dan buat pembaruan di folder root di mana properti svn: externals diatur. Ini akan membuat folder dan semuanya akan baik-baik saja.
Masalah ini muncul untuk saya karena svn: eksternal untuk file mengharuskan folder tujuan dikontrol versi. Setelah saya perhatikan bahwa ini tidak bekerja di repositori yang berbeda, saya bertukar dari file eksternal ke folder eksternal dan masuk ke kekacauan ini.
sumber
Cara termudah untuk melakukan ini adalah menampilkan folder tersembunyi dan kemudian buka folder .SVN. Anda akan melihat file nol KB bernama "lock" menghapus ini akan memperbaiki masalah
sumber
Saya menemukan masalah yang sama persis menggunakan SVN 1.7 dan tidak ada perbaikan yang disebutkan di atas yang berhasil.
Yang terpenting, pastikan Anda mencadangkan semua konten yang diedit.
Setelah menghabiskan beberapa jam (tidak mengunduh ulang semuanya karena ukuran cabang saya lebih dari 6gb), saya menemukan bahwa ada file db bernama "wc" di folder .svn di cabang Anda.
Buka file db menggunakan manajer db (saya menggunakan plugin manajer sqlite firefox) dan arahkan ke tabel WC_LOCK. Tabel ini akan memiliki entri untuk kunci yang diperoleh. Hapus catatan dari tabel dan Anda selesai :)
sumber
Ketika saya memiliki masalah ini, saya menemukan menjalankan perintah pembersihan langsung di jalur masalah yang umumnya tampaknya berfungsi. Lalu saya akan menjalankan cleanup dari root lagi, dan itu akan mengeluh tentang beberapa direktori lain. dan saya ulangi saja sampai berhenti mengeluh.
sumber
Jika Anda menggunakan mesin Windows, Lihat repositori melalui browser dan Anda mungkin melihat dua file dengan nama file yang sama tetapi menggunakan case yang berbeda. Subversion peka huruf besar kecil dan Windows tidak sehingga Anda bisa mendapatkan kunci ketika Windows berpikir itu menarik file yang sama dan Subversion tidak. Hapus nama file duplikat di repositori dan coba lagi.
sumber
Saya melakukannya dengan hanya membuat folder baru, memeriksa proyek, menyalin file yang diperbarui ke folder baru.
Itu diperbaiki dengan checkout baru.
sumber
Apakah Anda menggunakan TortoiseSVN dan baru saja ditingkatkan? Saya pernah mengalami masalah itu sebelumnya saat berpindah dari 1,4 ke 1,5 dan tidak me-reboot. (Coba reboot).
Alasan Anda perlu reboot adalah karena file cache menjadi funky.
Jika tidak, untuk melanjutkan, ekspor copy pekerjaan itu ke folder baru (jangan salin folder tersembunyi .svn), periksa kembali proyek, dan pindahkan semua kode Anda kembali, kemudian lanjutkan dengan komit Anda.
sumber
hapus saja folder .svn, lalu jalankan pembersihan pada direktori induk. Bekerja dengan sempurna !!
sumber
Dalam Versi di bawah Mac OS: Tindakan -> Bersihkan kunci penyalinan yang ...
sumber
Saya sering mendapat masalah seperti itu. Pola saya yang menyebabkan masalah pembersihan.
Menutup penampil gambar di mana file yang dihapus dibuka memecahkan masalah. Mungkin perangkat lunak lain dapat memblokir pembersihan dengan cara yang sama.
Secara umum. Saya percaya me-restart komputer dapat membantu dalam kasus seperti itu.
sumber
SVN biasanya memperbarui struktur internal (.svn / prop-base) dari file dalam folder sebelum file aktual diambil dari repositori. Setelah file diambil ini akan dihapus. Seringkali kesalahan dilemparkan karena "pembaruan" gagal atau dibatalkan sebelum waktunya selama berlangsungnya pembaruan.
Sekarang pembaruan harus bekerja.
sumber
Punya masalah yang sama karena saya mengekspor folder di bawah folder yang dikendalikan versi. Harus menghapus folder dari TortoiseSVN, lalu hapus folder dari filesystem (TortoiseSVN tidak suka subfolder tidak berversi ... kenapa tidak ???)
sumber
Mulai Pencarian .... Kunci ... Pilih semua file yang terdaftar dan hapus .. diperbaiki
sumber
yang harus dilakukan:
svn status | grep ". L" | sed 's /.* (. *) $ / \ 1 /' | awk '{panjang cetak ($ ​​1), $ 1}' | sort -nr | awk '{print "pushd" $ 2 "; svn cleanup; popd"}' | SH
sumber
Jangan hapus solusi Anda!
dalam folder .svn Anda memiliki file bernama kunci itu dengan panjang 0 byte
Anda dapat menghapus semua file ini dari semua folder .svn di solusi Anda dan itu akan berfungsi
Ini berhasil dalam kasus saya
sumber
Pemecahan file di tempat, dan checkout baru ke lokasi yang sama, telah memecahkan masalah ini untuk saya.
Di TortoiseSVN, untuk melakukan unversioning di tempat, seret kanan folder root dari copy pekerjaan dari daftar file ke dirinya sendiri di pohon direktori, dan pilih "SVN Ekspor item berversi di sini" dari menu pop-up. TortoiseSVN memperhatikan bahwa tujuannya sama dengan sumbernya, dan menyarankan pembatalan copy pekerjaan.
Setelah tidak berversi, lakukan checkout baru ke folder yang sama (yang sekarang berisi salinan tidak berversi dari semua file yang Anda miliki). TortoiseSVN akan memperingatkan Anda bahwa Anda memeriksa folder yang ada, tetapi Anda bisa melanjutkan.
Setelah ini, pembersihan, pembaruan, dan operasi lainnya bekerja tanpa hambatan. Karena kedua langkah di atas mempertahankan modifikasi lokal, seharusnya tidak ada kehilangan informasi (tetapi mendukung copy pekerjaan sebelum ini mungkin merupakan ide yang baik).
Satu peringatan: Jika copy pekerjaan berisi versi campuran atau perubahan properti yang tidak dikomit, informasi tersebut AKAN hilang. Bagi saya, ini bukan kejadian umum, dan diberi pilihan copy pekerjaan yang korup atau kehilangan perubahan properti yang tidak dikomit, saya cenderung memilih yang terakhir.
sumber
Saya punya masalah ini di mana "pembersihan" bekerja, tetapi "pembaruan" akan terus gagal. Solusi yang berhasil adalah menghapus folder yang dimaksud melalui Windows Explorer, bukan penghapusan TortoiseSVN (yang menandai penghapusan sebagai sesuatu untuk dikomit ke repositori, dan kemudian saya melakukan "checkout" pada dasarnya "memperbarui" folder dari respository.
Info lebih lanjut tentang perbedaan antara penghapusan O / S dan penghapusan SVN di sini: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-rename.html
Terutama:
Dan:
sumber
Jika Anda menggunakan Linux, coba ini:
Kemudian jalankan
cleanup
perintah pada direktori itu, kemudian coba perbarui.sumber
Saya melakukan yang berikut untuk memperbaiki masalah saya:
sumber
Di penjelajah solusi, klik kanan pada proyek, di pembukaan sub-menu klik pada subversi dan pilih pembersihan. Ini akan menyelesaikan masalah, seperti yang terjadi pada saya. Semoga ini akan berhasil.
sumber
Untuk melakukan pembersihan
Hapus folder .svn.
Lakukan svncheckout di folder root.
Coba lakukan operasi pembersihan.
Ini menyelesaikan masalah saya.
sumber