Kaplumbağa svn'de işleme sırasında çalışma kopyası kilitlendi hatası


94

Çalışma kopyamda her değişiklik yaptığımda sunucudaki depodaki değişiklikleri güncellemek ve uygulamak için Tortoise SVN kullanıyorum. Ancak birkaç günden sonra değişiklikleri uygulayamıyorum ve taahhüt etmeye çalıştığımda aşağıdaki hatayı alıyorum.

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

Klasörün üzerine sağ tıklayıp Tortoise SVN> Serbest bırak'ı seçerek klasörün kilidini açmaya çalıştım , diyor

Kilidini açacak bir şey yok. Bu çalışan kopyada hiçbir dosyanın kilidi yok

Sorun ne olabilir?

Yanıtlar:


232

Sorun değil ... şunu deneyin:

  • En üst düzey SVN klasörüne gidin.
  • Klasöre sağ tıklayın (svn dosyalarınızı içeren)> TortoiseSVN> CleanUp

Bu kesinlikle sorununuzu çözecektir. Bunu çok kez yaptım ... :)

Not. Temizleme iletişim kutusunda "Kilitleri kır" seçeneğinin seçili olduğundan emin olun.


teşekkürler @MicroEyes ... şimdi taahhüt edebiliyorum. Sadece küçük bir şüphem var. Bir dosyada değişiklik yaptıktan sonra, dosyayı önce kaydetmeli ve sonra güncellemeli (çalışma kopyasında) veya güncellemeli ve sonra kaydetmeli miyim?
Anıl

2
Her zaman güncellemeyi takip edin ve ardından kesin. Aksi takdirde, sürüm kopyanız daha eski olduğundan, SVN sunucusunda saklandığından, TortoiseSVN'den güncelleme için bir mesaj alırsınız. Yani her neyse, güncellemeniz ve taahhüt etmeniz gerekiyor.
MicroEyes

1
evet..bu, mevcut kopyamı svn revizyonuna güncellemeyle ilgili sorunumu çözdü.
Jayesh Bhoi

SVN'ye dosya ekledim ve işlemeye çalıştım ama aynı hatayı aldım. cleanUp komutunu denedim ama bu sorunu çözemiyorum.
Ashok Chandrapal

Bunu çok yaşıyorum. Svn'nin bu hata mesajını göstermeden önce geçen süreyi kısaltabilir miyim (şu anda beş ila on saniye)? Böylece temizliğe daha erken başlayabilirim.
not-a-user

15

Kabul edilen cevap benim için işe yaramadı. Bu sorunu çözmek için kilitli olan dosyaya sağ tıklamam gerekiyordu, öğesini seçin repo-browser. Bu, SVN sunucusundaki dosyaları içeren bir açılır pencere açtı. Daha sonra kilitli dosyaya sağ tıkladım ve seçtim break lock.

Depo tarayıcısını kapattığımda, explorer'a geri döndüğümde, sonunda işleyebildim!


Temizleme iletişim kutusunda "Kilitleri kır" seçeneğinin seçili olduğundan emin olmanız yeterlidir. Sanırım varsayılan olarak seçildi (ve bu yüzden orijinal cevapta bundan bahsedilmedi).
Nux

12
  1. Klasöre sağ tıklayın.
  2. TortoiseSVN-> Değişiklikleri kontrol edin.
  3. Depoyu kontrol et düğmesine tıklayın.
  4. Döndürülen tüm dosyalarda kilidi kır .

3

Ben de bu konuyla karşılaştım. Bazıları için şunu belirtmek isterim ki eğer kilitli ise TAKIMINIZA KONTROL EDİN. Takımdaki bir kişi, üzerinde çalıştığı için bazı şeyleri kilitlemiş olabilir (bu, geliştiricilerin başkaları gelmeden ve aynı içerik üzerinde çalışmaya çalışmadan işler üzerinde çalışmasına olanak tanır). Durum böyleyse, kilidi serbest bırakmak ve ardından güncelleme, onu kilitleyen geliştiricinin verilerini kaybetme potansiyeline sahiptir.

Bunu akılda tutarak endişem, "temizle" seçeneğinin muhtemelen çalışan kopyamı değiştireceği veya Subversion'ın Repo seviyesinden bilgileri kaldıracağıydı. Durum bu değil. Cevap benim için çalıştı. Bir güncellemenin ortasında iptal düğmesine tıkladığımda benimki kilitlendi. Bazı şubelerimizi çektim ve eşyalara ihtiyacım olmadığından iptal ettim. Çalışma kopyam kilitlendi. "Kilit açma" komutunu kullandığımda "kilitli" olarak görünen hiçbir belge bulamadım. Bu beni şaşırttı ve hızlı bir okuma (ve bu ileti dizisi) üzerine 'temizle' komutunu denedim. Bir temizlikten sonra sorunumu çözdü ve artık hiçbir şey kilitlenmedi.

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


2

SVN'de "kilitlenmenin" birden fazla anlamı vardır ve "kilit kırılmasından" bahseden bu cevaplardan bazıları veya kilit tutan bir takım arkadaşı orijinal soru için uygun anlamı kullanmıyor. Bu soru "çalışan kopya kilitleri" ile ilgilidir (yani bunlar tamamen bilgisayarınızdaki çalışma kopyası için yereldir ve siz veya bir dosya üzerinde kilit / teslim tutan takım arkadaşlarınızla hiçbir ilgisi yoktur). MicroEyes tarafından kabul edilen cevap, doğru kullanıma atıfta bulunuyor ve bu olduğunda en iyi seçeneğiniz bu.

Temizleme işe yaramazsa, projenin yeni çalışan bir kopyasına bakmanız gerekebilir. Değiştirilmiş, teslim edilmemiş dosyalarınız varsa, değişikliklerinizi kaybetmemek için bunları yeni çalışan kopyaya kopyalamanız gerekecektir.

"Kilit" in üç kullanımının açıklaması için Tortoise SVN belgelerindeki bu sayfaya bakın: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

Alıntı (vurgu eklendi):

"Kilitlenmenin" Üç Anlamı

Bu bölümde ve bu kitabın hemen hemen her yerinde, "kilitle" ve "kilitleme" kelimeleri, çakışmalardan kaçınmak için kullanıcılar arasında karşılıklı dışlama mekanizmasını tanımlar. Ne yazık ki, Subversion'ın ve bu nedenle bu kitabın bazen endişelenmesi gereken iki tür "kilit" daha var.

İkincisi, aynı çalışan kopya üzerinde çalışan birden çok Subversion istemcisi arasındaki çatışmaları önlemek için Subversion tarafından dahili olarak kullanılan çalışan kopya kilitleridir . Genellikle bu kilitleri, güncelleme / kesinleştirme / ... gibi bir komut bir hata nedeniyle kesintiye uğradığında alırsınız. Bu kilitler, "Temizleme" adlı bölümde anlatıldığı gibi, çalışan kopya üzerinde temizleme komutu çalıştırılarak kaldırılabilir.

...


2

Hangi dosyanın kilitlendiğini bilmiyordum, bu yüzden bu sorundan kurtulmak için yaptığım şey şuydu:

  1. En yüksek seviyedeki klasöre gittim
  2. Temizlemeye tıklayın ve ayrıca temizleme yöntemlerinden işaretlendi -> Kilitleri kır

Bu benim için çalıştı.


1

Alt dizinlerde "Temizle" de dahil olmak üzere çeşitli şeyler denedim. Son olarak, üst düzey klasörü güncellemeyi denedim. Hiçbir şey değil. Sonra "Üst seviyeyi temizle" ipucunu okudum. Bunu denedim. Temizleme kısmı başarılı oldu, ancak kilit kaldı. Çözümüm , en üst seviyeye geri dönmek, temizlemek ve sonra detaya inebileceğim her kırmızı (!) Klasörü temizlemekti . Sonuçta "Temizlendi", güncelleme mükemmel çalıştı. "Break lock" ipucu da iyi görünüyor, ancak ekibinizdeki birisinin bazı şeylere meşru bir kilitlenmesi olabilir .


0

Svn'deki bir dosyadan kendimi kilitlemeyi başardım - nasıl yapılacağını bilmiyorum - ama kilidi almayı (yeniden) denediğimde (Kaplumbağa dosya için "Kilit Al" seçeneğini gösteriyordu), kilit. Dosyayı silmeyi ve dizin değişikliğini gerçekleştirmeyi denedim - aynı sonuç. CleanUp'ı denedim (kaplamayı yenilemek dahil), ancak bu da başarısız oldu.

Çözüm, Tortoise repo-browser'a gitmek, dosyayı bulmak ve break lock işlevini kullanmaktı.


0

Bu ( https://stackoverflow.com/a/11764922/3045875 ) yardımcı olmazsa: Başka bir SVN aracının müdahale edip etmediğini kontrol edin ve aracı kapatın. TortoiseSVN'yi kullanarak birleştirme için birkaç saat uğraştık ve bu tür düzinelerce kilit hatası aldık. Sonunda Matlabs SVN entegrasyonunun müdahale ettiğini anladık ve kapattıktan sonra her şey yolunda gitti.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.