Copy pekerjaan terkunci kesalahan di tortoise svn saat melakukan

94

Saya menggunakan Tortoise SVN untuk memperbarui dan mengkomit perubahan ke repositori di server setiap kali saya membuat perubahan pada copy pekerjaan saya. Tetapi dari beberapa hari saya tidak dapat melakukan perubahan dan saya mendapatkan kesalahan berikut setiap kali saya mencoba untuk melakukannya.

Working copy 'C:\Program Files\EasyPHP\www\project\php' locked.
'C:\Program Files\EasyPHP\www\project' is already locked.

Saya telah mencoba membuka kunci folder dengan mengklik kanan padanya dan memilih Tortoise SVN> Kunci rilis , katanya

Tidak ada yang bisa dibuka. Tidak ada file yang memiliki kunci dalam copy pekerjaan ini

Apa masalahnya?

Anil
sumber

Jawaban:

232

Tidak masalah ... coba ini:

  • Pergi ke folder SVN tingkat atas.
  • Klik kanan pada folder (yang memiliki file svn Anda)> TortoiseSVN> CleanUp

Ini pasti akan menyelesaikan masalah Anda. Saya melakukan ini banyak waktu ... :)

Catatan. Pastikan opsi "Break locks" dipilih dalam dialog Cleanup.

MicroEyes
sumber
terima kasih @MicroEyes ... sekarang saya bisa berkomitmen. Saya hanya memiliki satu keraguan kecil. Setelah membuat perubahan pada file, haruskah saya mengkomit terlebih dahulu dan kemudian memperbarui file (dalam copy pekerjaan) atau memperbarui dan kemudian mengkomit?
Anil
2
Selalu ikuti pembaruan lalu lakukan. Jika tidak, Anda akan mendapatkan pesan untuk diperbarui dari TortoiseSVN, karena salinan versi Anda lebih lama daripada disimpan di server SVN. Jadi bagaimanapun, Anda harus memperbarui dan berkomitmen.
MicroEyes
1
ya..itu memecahkan masalah saya terkait dengan memperbarui salinan saya saat ini ke revisi svn.
Jayesh Bhoi
saya baru saja menambahkan file di SVN dan mencoba melakukannya tetapi saya mendapat kesalahan yang sama. saya mencoba perintah pembersihan tetapi saya tidak dapat menyelesaikan masalah ini.
Ashok Chandrapal
Saya sering mengalami ini. Dapatkah saya mengurangi waktu yang diperlukan svn sebelum menampilkan pesan kesalahan ini (saat ini lima hingga sepuluh detik)? Jadi saya bisa memulai pembersihan lebih awal.
bukan-pengguna
15

Jawaban yang diterima tidak berhasil untuk saya. Untuk memperbaiki masalah itu, saya harus mengklik kanan pada file yang terkunci, pilih repo-browser. Ini membuka popup dengan file-file seperti yang ada di server SVN. Saya kemudian mengklik kanan pada file yang terkunci dan memilih break lock.

Ketika saya menutup browser repositori, kembali ke penjelajah, saya akhirnya bisa berkomitmen!

Johann
sumber
Anda hanya perlu memastikan opsi "Break locks" dipilih dalam dialog Cleanup. Saya pikir itu dipilih secara default (dan itulah mengapa ini tidak disebutkan dalam jawaban asli).
Nux
12
  1. Klik kanan pada folder.
  2. TortoiseSVN-> Periksa modifikasi.
  3. Klik pada tombol Periksa repositori.
  4. Hancurkan semua file yang dikembalikan.
Elsabe
sumber
3

Saya mengalami masalah ini juga. Untuk beberapa saya ingin menunjukkan bahwa jika terkunci PERIKSA DENGAN TIM ANDA. Seseorang di tim mungkin memiliki beberapa hal yang terkunci karena mereka sedang mengerjakannya (ini memungkinkan pengembang untuk mengerjakan sesuatu tanpa orang lain masuk dan mencoba untuk mengerjakan konten yang sama juga). Jika demikian, melepaskan kunci dan kemudian memperbarui berpotensi kehilangan data bagi pengembang yang menguncinya.

Dengan mengingat hal itu, kekhawatiran saya adalah bahwa opsi "pembersihan" mungkin akan mengubah copy pekerjaan saya atau menghapus informasi dari tingkat Repo Subversion. Bukan itu masalahnya. Jawabannya berhasil untuk saya. Milik saya menjadi terkunci ketika saya mengklik batal di tengah pembaruan. Saya akhirnya menarik beberapa cabang kami dan saya tidak membutuhkan barang-barang itu jadi saya tekan batal. Salinan pekerjaan saya terkunci. Saya tidak dapat menemukan dokumen yang muncul sebagai "terkunci" ketika saya menggunakan perintah 'lepas kunci'. Ini membuat saya bingung dan setelah membaca singkat (dan utas ini) saya mencoba perintah 'bersihkan'. Setelah pembersihan, itu menyelesaikan masalah saya dan tidak ada yang dikunci lagi.

sumber: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

Eric
sumber
2

Ada beberapa arti dari "lock" di SVN dan beberapa dari jawaban yang berbicara tentang "break lock" atau rekan satu tim yang memegang kunci tidak menggunakan arti yang relevan untuk pertanyaan aslinya. Pertanyaan ini berhubungan dengan "kunci copy pekerjaan" (yaitu mereka sepenuhnya lokal untuk copy pekerjaan di komputer Anda dan tidak ada hubungannya dengan Anda atau rekan tim yang memegang kunci / check-out pada file). Jawaban yang diterima oleh MicroEyes mengacu pada penggunaan yang benar dan merupakan pilihan terbaik Anda saat ini terjadi.

Jika pembersihan tidak berhasil, Anda mungkin perlu memeriksa salinan pekerjaan baru dari proyek tersebut. Jika Anda memiliki file yang dimodifikasi dan tidak dikomit, Anda perlu menyalinnya ke copy pekerjaan baru sehingga Anda tidak kehilangan perubahan Anda.

Lihat halaman ini di dokumen SVN Tortoise untuk penjelasan tentang tiga penggunaan "kunci": http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

Kutipan (penekanan ditambahkan):

Tiga Arti "Kunci"

Di bagian ini, dan hampir di semua bagian dalam buku ini, kata "mengunci" dan "mengunci" menggambarkan mekanisme saling mengucilkan di antara pengguna untuk menghindari benturan komitmen. Sayangnya, ada dua jenis "kunci" lain yang dengannya Subversion, dan oleh karena itu buku ini, terkadang perlu diperhatikan.

Yang kedua adalah kunci copy pekerjaan , digunakan secara internal oleh Subversion untuk mencegah bentrokan antara beberapa klien Subversion yang beroperasi pada copy pekerjaan yang sama. Biasanya Anda mendapatkan kunci ini setiap kali perintah seperti update / commit / ... terputus karena kesalahan. Kunci ini dapat dihilangkan dengan menjalankan perintah pembersihan pada copy pekerjaan, seperti yang dijelaskan di bagian bernama "Pembersihan".

...

G. Stevens
sumber
2

Saya tidak tahu file apa yang memiliki kunci sehingga yang saya lakukan untuk keluar dari masalah ini adalah:

  1. Pergi ke folder tingkat tertinggi
  2. Klik bersihkan dan centang dari metode pembersihan -> Pecahkan kunci

Ini berhasil untuk saya.

cosmoto91
sumber
1

Saya telah mencoba berbagai hal, termasuk "Clean Up" pada subdirektori bawah. Akhirnya, saya mencoba memperbarui folder tingkat atas. Tidak ada. Kemudian saya membaca tip "Bersihkan tingkat atas". Saya mencobanya. Bagian pembersihan berhasil, tetapi kuncinya tetap ada. Solusi saya adalah kembali ke level teratas, membersihkan, lalu membersihkan setiap folder merah (!) Yang bisa saya telusuri . Setelah semua "Dibersihkan", pembaruan bekerja dengan sempurna. Tip "break lock" juga terlihat bagus, dengan pengecualian bahwa seseorang di tim Anda mungkin memiliki kunci yang sah.

Jim
sumber
0

Saya berhasil mengunci diri saya sendiri dari sebuah file di svn - tidak tahu bagaimana - tetapi ketika saya mencoba (kembali) mendapatkan kunci (Tortoise menunjukkan opsi "Dapatkan Kunci" untuk file tersebut), ia mengeluh karena sudah memiliki mengunci. Saya mencoba menghapus file dan melakukan perubahan direktori - hasil yang sama. Saya mencoba CleanUp (termasuk menyegarkan overlay), tetapi itu juga gagal.

Solusinya adalah masuk ke browser-repo Tortoise, temukan file dan gunakan fungsi break lock .

pengguna1844643
sumber
0

Jika ini ( https://stackoverflow.com/a/11764922/3045875 ) tidak membantu: Periksa apakah alat SVN lain mengganggu dan tutup alat tersebut. Kami hanya kesulitan beberapa jam saat menggabungkan menggunakan TortoiseSVN dan memiliki lusinan kesalahan kunci seperti itu. Akhirnya kami menemukan bahwa integrasi SVN Matlabs mengganggu dan setelah menutup semuanya berhasil.

RMK
sumber
-1

Solusi Windows:

https://sourceforge.net/projects/win32svn/

1. Unduh, lalu tambahkan ke jalur sistem.

2. Pergi ke direktori kerja jalankan "svn clean" dan "svn update" di cmd.

xiaoliuzi.dll
sumber