Lỗi bản sao làm việc bị khóa trong rùa svn khi cam kết


94

Tôi đang sử dụng Tortoise SVN để cập nhật và cam kết các thay đổi đối với kho lưu trữ trong máy chủ bất cứ khi nào tôi thực hiện thay đổi đối với bản sao làm việc của mình. Nhưng từ một vài ngày, tôi không thể thực hiện các thay đổi và tôi gặp lỗi sau bất cứ khi nào tôi cố gắng thực hiện.

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

Tôi đã cố gắng mở khóa thư mục bằng cách nhấp chuột phải vào nó và chọn Tortoise SVN> Khóa phát hành , nó nói

Không có gì để mở khóa. Không có tệp nào bị khóa trong bản sao làm việc này

Rắc rối có thể là cái gì?

Câu trả lời:


232

Không sao ... hãy thử cái này:

  • Chuyển đến thư mục SVN cấp cao nhất.
  • Nhấp chuột phải vào thư mục (có các tệp svn của bạn)> TortoiseSVN> CleanUp

Điều này chắc chắn sẽ giải quyết vấn đề của bạn. Tôi đã làm điều này rất nhiều thời gian ... :)

Ghi chú. Đảm bảo rằng tùy chọn "Phá khóa" được chọn trong hộp thoại Dọn dẹp.


cảm ơn @MicroEyes ... bây giờ tôi có thể cam kết. Tôi chỉ có một nghi ngờ nhỏ. Sau khi thực hiện các thay đổi đối với một tệp, trước tiên tôi nên cam kết và sau đó cập nhật tệp (trong bản sao đang làm việc) hay cập nhật và sau đó cam kết?
Anil

2
Luôn theo dõi cập nhật sau đó cam kết. Nếu không, bạn sẽ nhận được thông báo cập nhật từ TortoiseSVN, vì bản sao phiên bản của bạn cũ hơn sau đó được lưu trữ trong máy chủ SVN. Vì vậy, bằng mọi cách, bạn phải cập nhật và cam kết.
MicroEyes

1
vâng..điều đó đã giải quyết được vấn đề của tôi liên quan đến việc cập nhật bản sao hiện tại của tôi thành bản sửa đổi svn.
Jayesh Bhoi

Tôi vừa thêm các tệp trong SVN và cố gắng thực hiện nó nhưng tôi gặp lỗi tương tự. tôi đã thử lệnh cleanUp nhưng tôi không thể giải quyết vấn đề này.
Ashok Chandrapal,

Tôi đang trải nghiệm điều này rất nhiều. Tôi có thể giảm thời gian svn mất trước khi hiển thị thông báo lỗi này (hiện tại là năm đến mười giây) không? Vì vậy, tôi có thể bắt đầu dọn dẹp sớm hơn.
not a-user

15

Câu trả lời được chấp nhận không phù hợp với tôi. Để khắc phục vấn đề đó, tôi phải nhấp chuột phải vào tệp đã bị khóa, chọn repo-browser. Thao tác này đã mở một cửa sổ bật lên với các tệp khi chúng ở trên máy chủ SVN. Sau đó, tôi nhấp chuột phải vào tệp bị khóa và chọn break lock.

Khi tôi đóng trình duyệt kho lưu trữ, quay trở lại trình thám hiểm, cuối cùng tôi cũng có thể cam kết!


Bạn chỉ cần đảm bảo rằng tùy chọn "Phá khóa" được chọn trong hộp thoại Dọn dẹp. Tôi nghĩ rằng nó được chọn theo mặc định (và đó là lý do tại sao điều này không được đề cập trong câu trả lời ban đầu).
Nux

12
  1. Nhấp chuột phải vào thư mục.
  2. TortoiseSVN-> Kiểm tra các sửa đổi.
  3. Bấm vào nút Kiểm tra kho lưu trữ.
  4. Phá khóa trên tất cả các tệp được trả về.

3

Tôi cũng gặp phải vấn đề này. Đối với một số người, tôi muốn chỉ ra rằng nếu nó bị khóa, HÃY KIỂM TRA VỚI ĐỘI CỦA BẠN. Một người nào đó trong nhóm có thể bị khóa một số thứ vì họ đang làm việc trên đó (điều này cho phép các nhà phát triển thực hiện công việc mà không cần người khác đến và cố gắng làm việc trên cùng một nội dung). Nếu trường hợp đó xảy ra, việc giải phóng khóa và sau đó cập nhật có khả năng mất dữ liệu đối với nhà phát triển đã khóa nó.

Với suy nghĩ đó, mối quan tâm của tôi là tùy chọn "dọn dẹp" có thể sẽ thay đổi bản sao làm việc của tôi hoặc xóa thông tin khỏi cấp Repo của Subversion. Đó không phải là tình huống. Câu trả lời đã làm việc cho tôi. Của tôi đã bị khóa khi tôi nhấp vào hủy trong khi đang cập nhật. Tôi đã kết thúc việc nhổ một số nhánh của chúng tôi và tôi không cần đồ nên tôi nhấn hủy. Bản sao làm việc của tôi đã bị khóa. Tôi không thể tìm thấy bất kỳ tài liệu nào bị "khóa" khi tôi sử dụng lệnh "khóa phát hành". Điều này khiến tôi bối rối và sau khi đọc nhanh (và chuỗi này), tôi đã thử lệnh 'dọn dẹp'. Sau khi dọn dẹp, nó đã giải quyết được sự cố của tôi và không có gì bị khóa nữa.

nguồn: http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html


2

Có nhiều nghĩa của "lock" trong SVN và một số câu trả lời nói về "break lock" hoặc một đồng đội đang giữ khóa không sử dụng nghĩa liên quan cho câu hỏi ban đầu. Câu hỏi này đề cập đến "khóa bản sao đang hoạt động" (tức là chúng hoàn toàn cục bộ đối với bản sao đang hoạt động trên máy tính của bạn và không liên quan gì đến việc bạn hoặc đồng đội đang giữ khóa / đăng xuất trên một tệp). Câu trả lời được chấp nhận bởi MicroEyes là đề cập đến cách sử dụng chính xác và là lựa chọn tốt nhất của bạn khi điều này xảy ra.

Nếu quá trình dọn dẹp không hiệu quả, bạn có thể cần kiểm tra bản sao mới hoạt động của dự án. Nếu bạn có bất kỳ tệp nào đã sửa đổi, chưa được cam kết, bạn sẽ cần sao chép chúng sang bản sao mới làm việc để bạn không bị mất các thay đổi của mình.

Xem trang này trong tài liệu của Tortoise SVN để biết mô tả về ba cách sử dụng của "khóa": http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-locking.html

Trích (nhấn mạnh thêm):

Ba ý nghĩa của "Khóa"

Trong phần này và hầu như ở khắp mọi nơi trong cuốn sách này, các từ "khóa" và "khóa" mô tả một cơ chế loại trừ lẫn nhau giữa những người dùng để tránh xung đột với nhau. Thật không may, có hai loại “khóa” khác mà Subversion, và do đó cuốn sách này, đôi khi cần được quan tâm.

Thứ hai là khóa bản sao hoạt động , được Subversion sử dụng nội bộ để ngăn chặn xung đột giữa nhiều máy khách Subversion hoạt động trên cùng một bản sao đang hoạt động. Thông thường, bạn nhận được những khóa này bất cứ khi nào một lệnh như update / commit / ... bị gián đoạn do lỗi. Các ổ khóa này có thể được gỡ bỏ bằng cách chạy lệnh dọn dẹp trên bản sao đang hoạt động, như được mô tả trong phần có tên “Dọn dẹp”.

...


2

Tôi không biết tệp nào đang bị khóa nên những gì tôi đã làm để thoát khỏi vấn đề này là:

  1. Đã đến thư mục cấp cao nhất
  2. Nhấp vào dọn dẹp và cũng được chọn từ các phương pháp dọn dẹp -> Phá khóa

Điều này đã làm việc cho tôi.


1

Tôi đã thử nhiều thứ khác nhau, bao gồm cả "Dọn dẹp" trên các thư mục con thấp hơn. Cuối cùng, tôi đã thử cập nhật thư mục cấp cao nhất. Không có gì. Sau đó, tôi đọc mẹo "Dọn dẹp cấp cao nhất". Tôi đã thử điều đó. Phần dọn dẹp thành công, nhưng ổ khóa vẫn còn. Giải pháp của tôi là quay trở lại cấp cao nhất, dọn dẹp, sau đó xóa từng thư mục (!) Màu đỏ mà tôi có thể đi sâu vào . Sau khi tất cả đã được "dọn dẹp", bản cập nhật hoạt động hoàn hảo. Mẹo "phá khóa" cũng có vẻ tốt, ngoại trừ việc ai đó trong nhóm của bạn có thể có một khóa hợp pháp đối với mọi thứ.


0

Tôi đã cố gắng tự khóa mình khỏi một tệp trong svn - không biết làm thế nào - nhưng khi tôi thử (lại) khóa (Rùa đang hiển thị tùy chọn "Get Lock" cho tệp), nó đã phàn nàn rằng đã có Khóa. Tôi đã thử xóa tệp và thực hiện thay đổi thư mục - cùng một kết quả. Tôi đã thử CleanUp (bao gồm cả làm mới lớp phủ), nhưng điều đó cũng không thành công.

Giải pháp là vào trình duyệt repo Tortoise, tìm tệp và sử dụng chức năng khóa ngắt .


0

Nếu điều này ( https://stackoverflow.com/a/11764922/3045875 ) không hữu ích: Kiểm tra xem công cụ SVN khác có đang can thiệp hay không và đóng công cụ. Chúng tôi chỉ gặp khó khăn trong vài giờ khi hợp nhất bằng TortoiseSVN và có hàng tá lỗi khóa như vậy. Cuối cùng, chúng tôi phát hiện ra rằng tích hợp Matlabs SVN đang gây trở ngại và sau khi đóng, tất cả đều hoạt động.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.