Jika saya mencoba memperbarui repo subversi saya, katanya saya harus menjalankan pembersihan. Jika saya menjalankan pembersihan, dikatakan ada file yang hilang. (Saya menghapus direktori MASSIVE file yang gagal melakukan pagi ini dari PC rumah saya, tapi kemudian saya melakukan set file yang sama dari kantor, dan sekarang repo rumah saya gagal). Jadi, pembersihan mengatakan:
Pembersihan gagal memproses blablabla Tidak dapat mengatur file blablabla baca-tulis: Sistem tidak dapat menemukan file yang ditentukan.
Jika saya memperbarui dikatakan:
Perintah: Perbarui Kesalahan: Operasi sebelumnya belum selesai; jalankan 'pembersihan' jika terputus Kesalahan: Silakan jalankan perintah 'Bersihkan'. Lengkap!:
Bagaimana cara melepaskan ini?
svn
tortoisesvn
coderama
sumber
sumber
Jawaban:
Saya pernah dalam situasi yang sama. Sudahkah Anda mencoba menjalankan pembersihan dari akar ruang kerja Anda? Saya tahu kadang-kadang pembersihan dari direktori anak (di mana masalahnya terletak) tidak berfungsi, dan pembersihan dari akar ruang kerja tidak.
Jika itu masih gagal, karena Anda telah menghapus direktori anak di suatu tempat. Coba hapus 1 level lebih tinggi dari child dir juga (dengan asumsi itu bukan root), dan coba lagi pembaruan dan pembersihan.
Jika upaya pembersihan tidak berhasil pada level apa pun, maka sayangnya sayangnya checkout copy pekerjaan baru.
sumber
Seringkali tidak perlu untuk checkout atau menyalin.
Saya baru saja menyelesaikan masalah serupa yang berkaitan dengan kesalahan "operasi sebelumnya belum selesai" dengan bantuan dari ini ( Tautan )
Tampaknya svn terkadang macet saat memproses perintah / operasi. Semua operasi ini disimpan dalam file database wc.db di folder .svn.
Dengan mengunduh SQLite ke direktori checkout saya dan menjalankannya
Anda bisa mendapatkan daftar semua operasi yang tertunda. Operasi-operasi ini adalah kesalahan yang disebut sebagai "belum selesai".
Dengan berlari
semua operasi lama dihapus dari antrian kerja dan kesalahannya hilang. Tidak perlu checkout baru atau apa pun
sumber
Menjalankan konsol
svn cleanup
telah memecahkan masalah yang sama bagi saya.sumber
svn cleanup
juga akan memberikan informasi lebih rinci daripada menggunakan plug-in Tortoise Explorer, yang membuatnya sangat berguna dalam situasi seperti ini.svn cleanup
, terima kasihsvn cleanup
, pastikan konsolnya terangkat. Saya tidak melakukan ini pada awalnya dan saya mendapatkanred-write: Access is denied
kesalahan.Saya baru saja mengalami masalah serupa. Menjalankan Process Explorer menunjukkan bahwa program lain (Notepad ++) memiliki pegangan file ke folder yang coba dihapus oleh SVN. Ketika saya menutup Notepad ++, "Bersihkan" berhasil berjalan.
sumber
Saya menghadapi masalah ini setelah menambahkan toples yang sudah ada di SVN dan saya menambahkan Versi baru itu dengan nama yang sama.
Di Eclipse saya mencoba ini
Dengan menggunakan langkah-langkah di atas saya dapat melakukan Sinkronisasi.
sumber
Saya telah mencoba jawaban yang paling banyak dipilih di sini dan beberapa yang lain tidak berhasil.
WORK_QUEUE
Meja saya kosong dan saya tidak dapat mencoba membersihkan di folder yang lebih tinggi. Apa yang melakukan pekerjaan adalah sebagai berikut (ini adalah melalui Tortoise SVN);Break Locks
dicentang dan klik OKOperasi Bersihkan sekarang selesai dengan sukses dan saya dapat melanjutkan. Tidak diperlukan pengunduhan sqlite3 atau solusi berbelit-belit lainnya.
sumber
Mencoba menjalankan pembersihan saat file Anda terbuka memberi saya masalah. segera setelah saya menutup aplikasi saya (Visual studio) saya berlari bersih dan itu berhasil
sumber
Saya menggunakan kura-kura SVN. Ketika pembersihan gagal, periksa opsi pembersihan
Pastikan opsi untuk Break Locks dicentang.
Langkah pembersihan
Sudah dijawab, tetapi terkadang gambar membantu
sumber
Saya mendapat masalah yang sama, dalam kasus saya saya menggunakan svn tortoise dengan aplikasi yang saya maksud. Dengan menggunakan cmd shell windows dalam mode root, saya menerapkan pembersihan svn dan kemudian memperbarui svn .... Kemudian Anda dapat kembali ke mode aplikasi dan itu akan bekerja dengan sempurna!
sumber
Saya mencoba menghapus folder .svn ke lokasi lain dan meletakkannya kembali di folder root yang sama. Setelah ketika saya mencoba memperbarui SVN, itu diperbarui. Saya tidak tahu bagaimana tepatnya itu bekerja.
sumber
Saya memiliki masalah yang sama, dan entah bagaimana menemukan bahwa saya memiliki file .svn tersembunyi di tingkat c: \. Setelah saya menghapus folder tersembunyi ini (.svn), semuanya bekerja dengan baik. Saya harus secara tidak sengaja membuat direktori yang berfungsi di root drive.
sumber
Dalam kasus saya, saya menjalankan tegukan-menonton yang menyebabkan masalah. Setelah menghentikannya saya bisa menjalankan perintah Pembersihan.
sumber
hai teman-teman dalam kasus saya setelah saya menutup Visual Studio dan coba lagi untuk CleanUp berfungsi dengan baik
sumber
Saya juga terjebak dengan masalah yang sama yang saya coba hancurkan:
1.Cobalah membunuh proses yang berkaitan dengan svn yaitu TSVNCache.exe dan TortoiseProc 2.Reverting file yang tidak berversi dan penghapusan yang sama, yang saya miliki di svn. 3. bersihkan menggunakan command prompt "svn cleanup"
dan akhirnya ketika me-restart desktop itu bekerja untuk saya, Jadi untuk me-restart sistem bekerja untuk saya
sumber
hapus svn dari folder utama dan ganti dari copy yang layak yang Anda miliki dari elsewere.and kemudian perbarui. folder svn biasanya merupakan folder tersembunyi. Jadi, harap pastikan, untuk menyembunyikan folder sebelum melakukan langkah-langkah di atas.
sumber
Solusi yang berhasil untuk saya:
Selesai, tetapi saya tidak bisa menjelaskan mengapa ini terjadi. Jika Anda tidak menghapus file, perintah pembersihan mengatakan bahwa ia tidak dapat membaca / menulis file-file itu.
sumber
Saya memiliki masalah yang sama, apa yang berhasil bagi saya:
sumber
Saya memiliki kesalahan seperti "Tidak dapat mengubah izin file '/ Pengguna / Kode / UnitTest.cpp': Tidak ada file atau direktori". Subversi bingung tentang file yang tidak lagi ada. Saya hanya melakukan sesuatu seperti "echo ABCD >> /Users/Code/UnitTest.cpp" untuk membuat salinan file, lalu bersih-bersih. Itu berhasil.
sumber
Dalam kasus saya, kesalahan muncul ketika mencoba melakukan dari dalam IDE. Ketika saya menjalankan komit dari direktori yang sama dengan TortoiseSVN di explorer, operasi berhasil.
sumber
Itu telah terjadi pada saya ketika menggunakan eksternal dan salah satunya rusak. Saya harus pergi ke folder itu dan melakukan pembersihan. Kemudian pembersihan bekerja untuk seluruh copy pekerjaan.
Contoh: Menggunakan eksternal
^/widgets/foo common/foo-widget
, pertama-tama lakukan pembersihan pada foldercommon/foo-widget
.sumber
Saya menyelesaikan kesalahan ini hari ini ketika terjadi mencoba Komit ke SVN. Kesalahan itu asli, TortoiseSVN tidak dapat mengakses file yang saya coba komit. File ini telah disimpan saat menjalankan program "As Administrator" di Windows. Ini berarti file tersebut memiliki akses Administrator tetapi tidak akses dari akun saya (TortoiseSVN berjalan sebagai pengguna interaktif). Saya mengambil kepemilikan file yang ditunjuk di bawah akun windows saya dan setelah itu Pembersihan dapat melanjutkan.
sumber
Saya awalnya mendapat masalah ini mencoba untuk memeriksa dengan TortoiseSVN. Awalnya, keduanya, TortoiseSVN membersihkan dan konsol svn pembersihan keduanya gagal dengan pesan yang sama seperti poster aslinya.
Tapi solusi saya, (ditemukan secara tidak sengaja) hanya menunggu beberapa menit. Saya pikir TSVNCache memegang beberapa file tersebut pada saat check in.
sumber
ikuti langkah-langkah di bawah ini.
1) Pergi ke direktori di mana Anda tidak dapat membersihkan dengan sukses melalui
svn
. (Folder root atau folder anak).2) Pilih
.svn
folder di direktori, potong folder itu dan tempel di drive yang terpisah atau lokasi yang terpisah (keluar dari direktori svn)3) Sekarang, kembali ke direktori - klik kanan dan pilih
TortoiseSVN -->Repo-browser
4)
Checkout
folder (itu tidak akan melakukan checkout baru).5) Semua item Anda akan diversi lagi, dan itu akan memperbaiki masalah internal svn, dan masalah harus diselesaikan.
sumber
Dalam kasus saya contoh Java Virtual Machine berjalan, membunuh pembersihan yang berhasil.
sumber
Saya telah mengambil folder .svn dari sesama pengembang dan mengganti folder .svn saya dengan ini. Ini berhasil untuk saya. Tidak tahu apa konsekuensi lainnya!
sumber
Menggunakan tautan ini, https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
Saya perhatikan tutorial telah memeriksa 6 opsi teratas. Dalam keputus-asaan saya mencobanya menggunakan kotak-kotak yang dicentang itu, dan yang mengejutkan saya ternyata berhasil. Pastikan untuk membaca dengan cermat apa yang dilakukan masing-masing. Melihat deskripsi masing-masing, mereka tampaknya aman untuk dimasukkan untuk saya, jadi salah satu item yang diperiksa tampaknya telah memperbaiki masalah apa pun yang menghambat saya.
sumber
Ini dapat terjadi ketika Anda memiliki file yang masih terbuka ketika Anda mencoba untuk beralih / pembersihan SVN.
Saya memiliki cabang tempat saya membuat file baru, yang saya buka di aplikasi lain. Beralih ke cabang lain tidak dapat menghapus file yang menyebabkan sakelar gagal. Ini juga menyebabkan
svn cleanup
kegagalan, namun ini tidak ditampilkan sebagai alasan di Tortoise SVN UI.Menjalankan
svn cleanup
dari jendela konsol (pada folder root) dengan jelas menunjukkan kesalahanfile\location\file.ext: The process cannot access the file because it is being used by another process
Menutup semua pegangan file yang terbuka / jendela dan menjalankan konsol
svn cleanup
kemudian memungkinkan pembersihan berfungsi dengan benar.Cerpen panjang - jalankan
svn cleanup
di konsol untuk melihat kesalahan yang lebih rinci.sumber
Lebih jauh ke jawaban Sigurd V (Anda harus mencobanya terlebih dahulu), beberapa basis kode yang lebih besar memiliki beberapa folder '.svn', dan itu tidak harus yang ada di direktori root yang memiliki tugas terkunci.
Jika itu masalahnya, Anda harus memeriksa masing-masing. Jika Anda sudah memiliki SQLite dan Powershell, Anda dapat menemukan direktori yang menyinggung dengan cepat.
Untuk menemukan folder mana yang dikunci, jalankan (ganti
path\to\sqlite.exe
):Get-ChildItem -Path . -Filter '.svn' -Recurse -Hidden | foreach { $toFind = $_.FullName + "\wc.db" ; gci $toFind | foreach { echo $_.FullName ; path\to\sqlite.exe $_.FullName "select * from work_queue" } }
.Ini memberikan daftar direktori .svn dan, di bawah masing-masing, daftar tugas saat ini.
Jika ada tugas yang belum selesai, untuk masing-masing proses (ganti
path\to\sqlite.exe
danpath\to\.svn\wc.db
):path\to\sqlite.exe path\to\.svn\wc.db "delete from work_queue"
sumber
Saya telah melihat beberapa masalah dengan
svn
, termasuk yang ini, diselesaikan dengan menghapus / membuat.svn/tmp
direktori. Lalu larisvn cleanup
sumber
Silakan Ikuti tautan ini. Ini Atasi masalah Anda sepenuhnya.
Pergi ke direktori utama klik kanan -> Tortoise SVN -> Clean Up
https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-cleanup.html
sumber