Folder terkunci dan saya tidak bisa membukanya

108

Ketika saya mencoba untuk memperbarui atau mengkomit kode dari sebuah proyek, itu memberi tahu saya bahwa folder itu terkunci. Saat saya mencoba "membuka kunci", dikatakan bahwa tidak ada yang bisa dibuka di ruang kerja ini.

Apa artinya? Mengapa saya tidak dapat memperbarui, berkomitmen, atau bahkan membersihkan proyek.

Iyad Al aqel
sumber
Versi svn mana yang Anda gunakan?
Chriseyre2000
Assembla untuk repositori, Tourtise SVN 1.7
Iyad Al aqel
Jadi, apakah Anda memiliki folder .svn di setiap direktori atau hanya di root?
Chriseyre2000
Sudahkah Anda mencoba memeriksa proyek lagi ke dalam copy pekerjaan yang terpisah?
Bernard
Ya itu berfungsi jika saya memeriksanya di folder yang berbeda, tetapi database tidak terbuka
Iyad Al aqel

Jawaban:

161

Klik kanan pada folder direktori kerja Subversion Anda, dan pilih TortoiseSVN-> Bersihkan dari Menu Konteks. Ini akan berulang melalui direktori kerja Anda dan membersihkan setiap tindakan yang tidak lengkap, menghapus kunci lokal (yang berbeda dari menggunakan penguncian Subversion dari file di repositori yang memungkinkan semua orang tahu tentang kunci).

Jika tidak berhasil, lihat apakah Anda dapat menemukan nama file yang diubah, tetapi belum dilakukan, simpan, dan ulangi pembayaran.

David W.
sumber
28
Saya mengalami masalah ini dan pembersihan tidak berhasil (gagal membersihkan karena kunci lokal), tetapi naik ke folder induk (yang juga di bawah kendali versi) dan melakukan pembersihan di sana memperbaiki masalah.
Malvineous
2
Anda dapat memecahkan kunci lokal dengan memeriksa Break locksopsi.
aagjalpankaj
1
Komentar @Malvineous sangat berharga. Harus memposting ini sebagai jawaban.
Lazy Ninja
16

Jika file dikunci sendiri (akun svn yang sama), Anda dapat mengikuti langkah-langkah berikut:

Klik kanan pada file atau folder yang dikunci, dan pilih TortoiseSVN-> Dapatkan kunci ... , dan centang pada " [] Curi kunci " di sudut kiri bawah dialog, klik "OK". Jika berhasil diselesaikan, tidak apa-apa. Saat Anda mengklik kanan pada file itu lagi, Anda bisa melihat TortoiseSVN-> Kunci rilis ... , klik untuk membuka kunci.

cuixiping
sumber
12

Menggunakan baris perintah svn untuk membuka kunci folder lokal, cukup gunakan svn cleanup.

Sebelum:

# svn commit -m "fixing #1234"

melakukan

# svn st

sebelum

# svn cleanup

Setelah:

# svn st

setelah

# svn commit -m "fixing #1234"

setelah2

Sebas
sumber
10

Kepada siapa pun yang masih mengalami masalah ini ( Kesalahan: Salinan pekerjaan '{DIR}' terkunci. ), Saya punya solusi Anda:

Saya menemukan bahwa ketika salah satu jendela TortoiseSVN macet, itu meninggalkan TSVNCache.exe yang masih memiliki beberapa pegangan pada copy pekerjaan Anda dan itu menyebabkan masalah Kunci yang Anda lihat (dan juga mencegah Pembersihan melakukan tugasnya).

Jadi untuk mengatasi ini:

Antara

1a) Gunakan Process Explorer atau yang serupa untuk menghapus pegangan yang dimiliki oleh TSVNCache.exe

1b) ..Atau lebih mudah, cukup gunakan Task Manager untuk mematikan TSVNCache.exe

Kemudian

2) Klik kanan -> TortoiseSVN -> Bersihkan. Hanya "Bersihkan status copy pekerjaan" yang perlu diperiksa.

Dari sana, selamat memperbarui / berkomitmen. Anda bisa mereproduksi perilaku Lock dengan melakukan Pembaruan SVN dan kemudian dengan cepat mematikan proses TortoiseProc.exe sebelum Pembaruan selesai.

Jonathon J Howey
sumber
8

Ini adalah pertama kalinya saya mengalami masalah ini. Saya bahkan mencoba me-restart PC, tanpa efek. Ini memecahkan masalah saya:

Solusi untuk saya:

  1. Klik kanan pada Direktori Kerja Proyek.
  2. Menavigasi TortoiseSVN .
  3. Arahkan To Clean Up .
  4. Biarkan semua opsi default, dan centang Break Locks
  5. Klik OK

Ini berhasil untuk saya. Saya bisa melakukan perubahan.

WilliamK
sumber
1
Memeriksa kotak centang Break Locks memperbaiki masalah saya.
Banketeshvar Narayan
Ini adalah jawaban sempurna yang selama ini saya cari. Terima kasih banyak
vamshi krishna kurella
Ini harus menjadi jawaban yang benar. Praktis, mudah, dan langsung ke intinya!
Oana-Elena Danescu
3

Untuk membuka kunci file dalam copy pekerjaan Anda dari command prompt yang saat ini dikunci oleh pengguna lain, gunakan --forceopsi.

$ svn unlock --force tree.jpg

manav mn
sumber
Bagaimana jika saya ingin membuka kunci direktori?
IgorGanapolsky
@IgorGanapolsky Berikan nama direktori alih-alih nama file dalam perintah di atas
manav mn
@IgorGanapolsky pesan kesalahan apa yang Anda dapatkan. Izinkan saya memeriksa
manav mn
Node bukan file !
IgorGanapolsky
3

Saya mengalami masalah ini dan saya telah melakukan langkah-langkah di bawah ini untuk mengatasinya:

  1. Buka folder induk, bukan folder anak
  2. Pilih pembersihan SVN
  3. Klik OK.

Lakukan langkah ini di folder induk, bukan folder anak!

Itu berhasil untuk saya!

Akhilesh
sumber
1

Saya memindahkan folder ke atas satu tingkat dan ke folder lain. Kesalahan saya adalah melakukan pemindahan dari dalam folder induk.

Contoh buruk:

pwd -> C:\Repo\ParentDir\
svn move ./DirtoCopy ../AnotherDir

SVN perlu memperbarui direktori induk dengan info folder yang dihapus.
Anda harus melakukannya dari root umum folder sumber dan tujuan atau menggunakan jalur lengkap.

Contoh yang baik:

svn move C:\Repo\ParentDir\DirtoCopy C:\Repo\NewLocation
rasky74
sumber
1

Saya mengalami masalah ini di mana saya tidak dapat membuka kunci file dari sisi klien. Saya memutuskan untuk pergi ke sisi memutuskan yang jauh lebih sederhana.

Di Server SVN:

Temukan kunci

 svnadmin lslocks /root/of/repo
 (in my case it was var/www/svn/[name of Company])

 You can add a specific path to this by svnadmin lslocks /root/of/repo "path/to/file"

Hapus kunci

 svnadmin rmlocks /root/of/repo “path/to/file” 

Itu dia!

Stacker
sumber
0

Solusi:

  1. Klik kanan pada Direktori Kerja Proyek.
  2. Menavigasi TortoiseSVN.
  3. Arahkan To Clean Up.
  4. Pilih Bersihkan status copy pekerjaan (buat tanda centang)
  5. Klik OK
  6. Ulangi Langkah 1 dan 2 lalu navigasikan untuk melepaskan Kunci.
  7. Klik OK Kunci proyek Anda dibuka.
Vinayak
sumber
0

Selain jawaban David M, saat melakukan pembersihan -> centang opsi 'break locks'. Ini akan memastikan pelepasan kunci. Kemudian lakukan svn update. Ini berhasil untuk saya.

Vinnu
sumber
0

Untuk membuka kunci dokumen yang diblokir: 1. Klik kanan -> Lock 2. Centang kotak "Steal the locks" 2. Lepaskan kunci

pengguna7257040
sumber
0

Saya banyak meneliti masalah ini tetapi tidak ada solusi yang memperbaiki masalah saya sampai saya mencoba ini:

Folder repo saya dibagikan dengan mesin virtual Windows xp, jadi saya menjalankan pembersihan dari VM dan kemudian menjalankan UPDATE SVN dari host.

Itu berhasil untuk saya.

Salam dari Kosta Rika.

Luisca94
sumber
0

Saya dapat menyelesaikan masalah ini di komputer saya dengan mengganti nama folder untuk memperkecil jalur folder.

rsivakumar
sumber
-1

Saya mengalami ini terjadi setelah Tortoise rusak dan macet saat mencoba memperbarui folder. Saya akhirnya menginstal ulang Tortoise, tetapi kunci hantu masih ada. Dari sana saya harus menghapus folder tersebut dan melakukan checkout baru. Jelas saya sangat beruntung karena saya tidak memiliki perubahan baru untuk dilakukan saat itu. Bagaimanapun, bukan berita bagus, dan jika ada yang memiliki solusi yang lebih baik, saya akan senang mendengarnya sendiri. Bahkan menggunakan "Break Lock" yaitu membuka kunci dengan opsi gaya tidak mengubah apa pun.

JMM
sumber
-1

Bersihkan, centang semua kotak centang => Ini berfungsi untuk saya

Đức Thắng Nguyễn
sumber
Sama seperti Đức Thắng Nguyễn. Lakukan Clean Up yang "kuat".
-1

Saya mengalami masalah ini setelah operasi ini:

  1. dapatkan kunci di folder
  2. ubah file
  3. hapus file dan perbarui folder -> file baru diunduh
  4. mencoba untuk melakukan atau melepaskan kunci

Saya akhirnya menyelesaikan masalah dengan memaksa kunci lagi: TortoiseSVN -> Dapatkan Kunci -> centang "mencuri kunci" lalu komit atau lepaskan kunci.

med_alpa
sumber