Bản sao làm việc XXX bị khóa và dọn dẹp thất bại trong SVN


582

Tôi gặp lỗi này khi thực hiện svn update:

Bản sao làm việc XXXXXXXX bị khóa Vui lòng thực hiện lệnh "Dọn dẹp"

Khi tôi chạy dọn dẹp, tôi nhận được

Dọn dẹp không thể xử lý các đường dẫn sau: XXXXXXXX

Làm thế nào để tôi thoát khỏi vòng lặp này?


5
Tôi cũng nhận được tin nhắn này. Các câu trả lời được cung cấp có vẻ hơi tẻ nhạt (đặc biệt là câu trả lời cao nhất). Tôi vừa đóng cửa VS và mở lại giải pháp và tôi đã có thể kiểm tra mọi thứ một cách ổn thỏa.
oscilatingcretin

Theo dõi bình luận của eakkas để xóa các mục từ bảng WORK_QUEUE bằng Trình quản lý SQLLite của Firefox đã khắc phục sự cố cho tôi.
zeppelin

12
Có một câu trả lời đơn giản, chỉ cần kiểm tra tùy chọn, "phá khóa" và điều đó sẽ dọn sạch bản sao làm việc của bạn
Farhan

Câu trả lời:


517

Một cách tiếp cận là:

  1. Sao chép các mục đã chỉnh sửa sang vị trí khác.
  2. Xóa thư mục chứa đường dẫn vấn đề.
  3. Cập nhật thư mục chứa thông qua Subversion.
  4. Sao chép các tập tin của bạn trở lại hoặc hợp nhất các thay đổi khi cần thiết.
  5. Cam kết

Một lựa chọn khác là xóa thư mục cấp cao nhất và kiểm tra lại. Hy vọng rằng nó không đến đó mặc dù.


123
+1 cho bạn để giải quyết vấn đề này không chỉ khắc phục sự cố của OP (và của tôi) mà còn đưa ra 5 bước dường như khắc phục mọi sự cố svn. -1 để lật đổ cho các giải pháp cần thiết như vậy.
pxl

34
Trong khi kỹ thuật này hoạt động, đó là một cách tồi tệ để làm điều này so với việc loại bỏ các khóa mà nó xứng đáng với một downvote.
Jukka Dahlbom

8
Tôi không thể thực hiện bước 3 vì ... "Bản sao làm việc đã bị khóa"
Evgeny

20
Hãy xem xét lời khuyên từ BradS "Đối với tôi, mẹo là chạy 'svn dọn dẹp' ở đầu bản sao làm việc của tôi, không phải trong thư mục mà tôi đã làm việc suốt thời gian trước khi sự cố xảy ra."
Marco

5
Đối với những người sử dụng Rùa SVN, bạn có thể chạy dọn dẹp thư mục gốc của thư mục thanh toán và buộc Break Khóa. Ngoài ra, bạn có thể yêu cầu nó xóa các tập tin không đảo ngược. Sau đó hãy cập nhật.
Obaid

476

Đối với tôi, mẹo là chạy svn cleanupở đầu bản sao làm việc của tôi, không phải trong thư mục mà tôi đã làm việc toàn bộ thời gian trước khi sự cố xảy ra.


thường hoạt động nhưng không còn nữa, không chắc có phải vì tôi đã nâng cấp lên SVN 1.7
Populus

4
điều này làm việc với tôi với một khách hàng đang chạy 1.7, mặc dù máy chủ vẫn là 1.6.x
Mark Hosang

Làm việc cho tôi trên 1.7 được đánh giá cao
Scarpacci

1
Tôi đã kết hợp gợi ý từ câu trả lời của Intu với câu hỏi này: tìm thư mục mẹ có tệp "khóa" trong thư mục .svn của nó, sau đó chạy "svn dọn dẹp" ở đó. Điều đó làm việc cho tôi.
cướp74

5
Cách này hiệu quả với tôi, cách nhanh hơn nhiều so với cách của Chuck. Vì vậy, nó là giá trị một shot để làm điều này đầu tiên.
goamn

210

Nhìn vào .svnthư mục của bạn , sẽ có một tập tin trong đó được gọi lock. Xóa tập tin đó và bạn sẽ có thể cập nhật. Có thể có nhiều tệp khóa trong .svnthư mục của mỗi thư mục con. Họ cũng sẽ cần xóa. Điều này có thể được thực hiện như một đợt khá đơn giản từ dòng lệnh với vd

find . -name 'lock' -exec rm -v {} \;

Lưu ý rằng bạn đang chỉnh sửa thủ công các tệp trong .svnthư mục. Họ đã được đặt ở đó vì một lý do. Lý do đó có thể là một sai lầm, nhưng nếu không bạn có thể làm hỏng bản sao địa phương của bạn.

NGUỒN: http://www.svnforum.org/2017/viewtopic.php?p=6068


8
+1 Tôi nghĩ rằng đây là cách tiếp cận tốt hơn nhiều so với câu trả lời được bình chọn cao nhất hiện nay - Tôi ghét phải sao chép các tệp ở nơi khác trước để giải quyết vấn đề (phổ biến!) Này. Của tôi là do một công cụ tạo mã tạo ra các tệp có cùng tên mà người khác đã thêm vào SVN. Điều tồi tệ của tôi là không "svn up" trước tiên tôi cho rằng ...
alpian

44
Điều này không còn hoạt động nữa với Rùa / SVN 1.7 (hoặc ít nhất là tôi không thể tìm thấy bất kỳ tệp khóa nào vì giờ đây đã có một DB tập trung với siêu dữ liệu).
pesche

10
đây là một lớp lót nhanh chóng nên xóa đệ quy tất cả các khóa bắt đầu trong thư mục hiện tại:find . | grep ".svn/lock" | xargs rm
Jesse

1
Với SVN 1.7, câu trả lời của @ BradS có vẻ hiệu quả hơn. Câu trả lời này không hiệu quả với tôi và BradS đã làm.
Ira Baxter

1
Trong trường hợp của tôi không có tập tin khóa bất cứ nơi nào được tìm thấy.
Tim MB

106

Trong trường hợp của tôi, tôi đã giải quyết nó bằng cách xóa thủ công một bản ghi trong bản ghi khóa tệp ".svn \ wc" của SQLite trong bảng WC_LOCK.

Tôi đã mở tệp "WC" bằng trình soạn thảo SQLite và thực thi

delete from WC_LOCK

ảnh chụp màn hình hiển thị tất cả các mục được thanh lọc từ WC_LOCK

Theo bình luận của eakkas , bạn cũng có thể cần phải xóa tất cả các mục khỏi WORK_QUEUEbảng.


1
Điều này làm việc cho tôi cho Subversion 1.7.5 trên Windows. Đã tải xuống phiên bản dùng thử SQLite Expert từ đây: sqliteexpert.com/doad.html . Chạy câu lệnh "xóa" sql ở trên trong tab SQL.
M Katz

Điều này tốt hơn nhiều, chỉ có một điểm khác biệt là tôi đã nhấp vào nút (-) màu đỏ
Rohit Srivastava

3
Một Spy SQL DI miễn phí cũng sẽ thực hiện thủ thuật: yunqa.de/delphi/doku.php/products/sqlitespy/index
Ivelin Nikolaev

12
Điều này cũng có hiệu quả với tôi nhưng tôi cũng cần thanh lọc các mục trong bảng
WORK_QUEUE

6
Không hoạt động bằng cách xóa mục ra khỏi WC_LOCK - công việc đã xem xét nội dung blob của mục WORK_QUEUE của tôi và chắc chắn đó là tệp vấn đề - Tôi đã xóa tệp khỏi trình duyệt repo và sau đó xóa mục work_queue - sau đó chạy dọn dẹp và trở lại trong kinh doanh!
GregM

95

Cách dễ nhất từng có:

  1. Chuyển đến thư mục Parent (Thư mục) của Project .
  2. Pres Nhấp chuột phải
  3. Nhấn vào TortoiseSVN, sau đó nhấn Clean up ...
  4. Hộp thoại dọn dẹp sẽ tự động xuất hiện
  5. Chọn Clean up working copy status, Break locks, Fix time stamps, Vacuum pristine copies, Refresh shell overlays,Include externals
  6. Pres OK

Bạn đã làm công việc của bạn thành công.

Kiểm tra ảnh chụp màn hình để bạn tham khảo.

Bước đầu tiên:

nhập mô tả hình ảnh ở đây

Bước thứ hai: Kích hoạt tùy chọn Khóa ngắt (hộp kiểm thứ hai trong cửa sổ bật lên dọn dẹp) nhập mô tả hình ảnh ở đây

Hy vọng điều này sẽ giúp bạn rất nhiều.


10
trong trường hợp của tôi, tùy chọn "Break lock" là đủ, có thể thử đầu tiên chỉ với cái này
Donatello

Câu trả lời tốt. Tôi đã có một trường hợp 'mù hộp thoại' với cái này và không bao giờ kiểm tra các tùy chọn dọn dẹp. Trong lịch sử, 'điều hướng đến root và dọn dẹp' được sử dụng để làm việc nhưng tôi đoán việc phá khóa là đủ trong trường hợp của tôi ..
Phil Cooper

1
Làm việc cho tôi quá!
Daniel Silva

Không nghĩ rằng 'phá khóa' sẽ làm điều đó, bởi vì tôi đã không tạo ra bất kỳ ổ khóa nào. Nhưng rõ ràng nó phá vỡ khóa nội bộ svn đã gây ra vấn đề này. Cảm ơn!
basher

Không làm việc cho tôi
Chimpanzee

48

Một đồng nghiệp tại nơi làm việc liên tục thấy tin nhắn này và đối với anh ta, đó là vì anh ta đã xóa một thư mục trong điều khiển phiên bản SVN mà không xóa nó khỏi SVN, và sau đó tạo một thư mục mới ở vị trí không thuộc quyền kiểm soát phiên bản, có cùng tên.

Nếu đây là vấn đề của bạn ...:

Có nhiều cách khác nhau để sửa nó, tùy thuộc vào cách thức / lý do thư mục được thay thế.

Dù bằng cách nào, bạn có thể sẽ cần phải:

A) Đổi tên thư mục hiện có thành tên tạm thời

B) Thực hiện hoàn nguyên SVN để khôi phục thư mục đã bị xóa khỏi hệ thống tệp, nhưng không phải từ SVN

Từ đó, bạn sẽ

A) Sao chép các tập tin liên quan vào thư mục đã bị xóa

B) Nếu bạn đã có một sự thay đổi đáng kể nội dung trong thư mục, làm một SVN xóa trên bản gốc, cam kết, và đổi tên thư mục lại mới đến tên bạn muốn, tiếp theo là một SVN thêm để có được điều đó một dưới sự kiểm soát phiên bản.


1
Bước B thứ hai của bạn) có vẻ là một ý tưởng rất tồi đối với tôi, vì nó sẽ phá vỡ lịch sử sửa đổi cho các mục của thư mục gốc được giữ trong phiên bản mới.
Dunaril

Những điều rất tồi tệ đã xảy ra khi người này xóa một thư mục được phiên bản khỏi hệ thống tệp nhưng không phải từ SVN. Câu trả lời ở trên có thể không phải là một sự phục hồi hoàn hảo, nhưng nó là một sự phục hồi.
Teemu Leisti

34

Đối với tôi không có giải pháp nào ở trên làm việc. Tôi tìm thấy một giải pháp bằng cách phá khóa. Khi tôi thực hiện dọn dẹp svn, tôi đã chọn "Phá khóa" cùng với "Dọn sạch trạng thái bản sao làm việc".

nhập mô tả hình ảnh ở đây


Đối với tôi phá khóa từ trình duyệt repo Rùa SVN hoạt động. Phá khóa trên thư mục đã kiểm tra không làm gì.
Bhargava Mummadireddy

23

Cái này làm việc cho tôi

  1. Chuyển đến thư mục gốc,
  2. Nhấp chuột phải và dọn dẹp
  3. Kiểm tra tất cả các tùy chọn có sẵn
  4. Nhấn OK

Sau khi dọn dẹp, nó sẽ cho phép bạn cập nhật lên phiên bản mới nhất.


2
Điều này làm việc cho tôi quá. Bạn cần kiểm tra tất cả các tùy chọn có sẵn (6 mục trong phiên bản của tôi) để tiến hành Dọn dẹp; nó sẽ thất bại nếu bạn chỉ kiểm tra các tùy chọn [Dọn sạch trạng thái sao chép] và [Bao gồm các phần bên ngoài].
Vincent Jia

1
Điều này hoàn toàn hiệu quả với tôi ... chỉ bằng cách nhấp chuột phải vào dự án> Đội> Dọn dẹp. Không phải xóa bất kỳ hàng nào khỏi SQL trong .svn cũng như mọi thứ khác. Chỉ cần điều này đã làm công việc. Cảm ơn!
msqar

Điều này cũng hiệu quả với tôi trong phiên bản 1.7.4 của TortoiseSVN. Tôi đã đi với các hộp kiểm mặc định đã được trình bày.
slm

Đã giúp tôi hôm nay, nhưng tôi không cần kiểm tra tất cả các tùy chọn có sẵn. Ba cái cuối cùng hoàn nguyên các thay đổi của tôi mà tôi đã không kiểm tra và dù sao nó cũng hoạt động. Xem thêm stackoverflow.com/a353192644/460775
EMBarbosa

1
Điều này làm việc cho tôi. Tôi chỉ cần kiểm tra Clean up working copy statusBreaks locksInclude externals
Phiber

11

Đối với tôi, đó thực sự là lỗi của Rùa. Rùa chỉ phàn nàn "không thể dọn dẹp, chạy dọn dẹp", nhưng khi tôi chạy dòng lệnh (svn dọn dẹp), nó nói rõ với tôi rằng nó không thể xóa một số tệp đang sử dụng, giải pháp rõ ràng. Khi tôi đóng Visual Studio (đang giữ các tệp đang mở), thì quá trình dọn dẹp hoạt động tốt.

Các chương trình khác cũng có thể giữ các tệp mở trong repo gây ra vấn đề này. Excel giữ một xls mở là một thủ phạm trong một trường hợp khác, vì vậy có thể là khôn ngoan khi đóng tất cả các chương trình có thể đang sử dụng bất cứ thứ gì trong repo hoặc thậm chí khởi động lại để buộc các chương trình đóng lại và sau đó thử dọn dẹp lại.


7

Tôi gặp vấn đề này vì các thư mục bên ngoài không muốn được liên kết vào một thư mục hiện có. Nếu bạn thêm một dòng thuộc tính svn: externals trong đó đích là một thư mục hiện có (đã được phiên bản hoặc không có phiên bản), bạn sẽ gặp lỗi khóa SVN Wending Copy. Ở đây dọn dẹp cũng sẽ cho bạn biết rằng mọi thứ đều ổn nhưng vẫn cập nhật sẽ không hoạt động.

Giải pháp: Xóa thư mục gặp rắc rối khỏi kho lưu trữ và thực hiện cập nhật trong thư mục gốc nơi đặt thuộc tính svn: externals. Điều này sẽ tạo thư mục và tất cả sẽ ổn trở lại.

Vấn đề này phát sinh đối với tôi vì svn: externals cho các tệp yêu cầu thư mục đích phải được kiểm soát phiên bản. Sau khi tôi nhận thấy rằng điều này không hoạt động trên các kho khác nhau, tôi đã chuyển từ các tệp bên ngoài sang thư mục bên ngoài và rơi vào mớ hỗn độn này.


6

Cách dễ nhất để làm điều này là hiển thị các thư mục ẩn và sau đó mở thư mục .SVN. Bạn sẽ thấy tệp 0 KB có tên "khóa" xóa, điều này sẽ khắc phục sự cố


5

Tôi đã gặp vấn đề chính xác tương tự khi sử dụng SVN 1.7 và không có bản sửa lỗi nào được đề cập ở trên hoạt động.

Trước hết, hãy chắc chắn rằng bạn sao lưu tất cả nội dung đã chỉnh sửa của mình.

Sau khi dành vài giờ (không tải lại mọi thứ vì chi nhánh của tôi có kích thước hơn 6gb), tôi thấy rằng có một tệp db có tên "wc" trong thư mục .svn của chi nhánh.

Mở tệp db bằng bất kỳ trình quản lý db nào (tôi đã sử dụng plugin trình quản lý sqlite của firefox) và điều hướng đến bảng WC_LOCK. Bảng này sẽ có các mục cho các khóa thu được. Xóa các bản ghi khỏi bảng và bạn đã hoàn tất :)


mặc dù nó gần như là một bản sao của câu trả lời trước đó, tôi đã cho bạn một phiếu bầu vì bạn đã đề cập đến plugin trình quản lý SQLite firefox.
ehambright

3

Khi tôi gặp vấn đề này, tôi thấy việc chạy lệnh dọn dẹp trực tiếp trên đường dẫn vấn đề thường có vẻ hiệu quả. Sau đó, tôi sẽ chạy dọn dẹp từ gốc làm việc một lần nữa và nó sẽ phàn nàn về một số thư mục khác. và tôi chỉ lặp lại cho đến khi nó ngừng phàn nàn.


1
Tôi không thể tìm thấy tệp khóa như với các câu trả lời trước đó, nhưng điều này hiệu quả với tôi :)
serenskye

3

Nếu bạn đang sử dụng máy Windows, hãy xem kho lưu trữ thông qua trình duyệt và bạn cũng có thể thấy hai tệp có cùng tên tệp nhưng sử dụng các trường hợp khác nhau. Subversion phân biệt chữ hoa chữ thường và Windows không có để bạn có thể khóa khi Windows nghĩ rằng nó kéo xuống cùng một tệp và Subversion thì không. Xóa tên tệp trùng lặp trên kho lưu trữ và thử lại.


3

Tôi đã làm điều đó bằng cách chỉ tạo một thư mục mới, kiểm tra dự án, sao chép các tệp đã cập nhật vào thư mục mới.

Nó đã được cố định với một kiểm tra mới.


Tôi làm giống vậy. (Tôi đặt nguyên nhân gốc xuống AnkhSVN gây rối với bản sao làm việc của tôi. AnkhSVN hiện đã được gỡ cài đặt).
Scotty.NET

2

Bạn đang sử dụng TortoiseSVN và vừa nâng cấp? Tôi đã gặp vấn đề đó trước đây khi chuyển từ 1.4 sang 1.5 và không khởi động lại. (Hãy thử khởi động lại).

Lý do bạn cần khởi động lại là vì tập tin bộ nhớ cache trở nên thú vị.

Mặt khác, để tiếp tục, hãy xuất bản sao đang hoạt động đó vào một thư mục mới (không sao chép các thư mục ẩn .svn), kiểm tra lại dự án và di chuyển tất cả mã của bạn trở lại, sau đó tiến hành cam kết.


Điều này cũng xảy ra với tôi, đó là tôi chỉ cần khởi động lại
Matthew Lock

2

chỉ cần xóa các thư mục .svn, sau đó chạy dọn dẹp thư mục mẹ. Hoạt động hoàn hảo !!


3
Trong SVN 1.7, điều này sẽ không hoạt động vì chỉ có một thư mục .svn ở trên cùng. Nếu bị xóa, tệp đính kèm vào kho lưu trữ sẽ bị xóa.
AnneTheAgile

2

Trong các phiên bản trong Mac OS: Action -> Dọn dẹp khóa sao chép hoạt động tại ...


2

Tôi thường nhận được một vấn đề như vậy. Mô hình của tôi gây ra vấn đề dọn dẹp.

  1. Tôi mở tập tin hình ảnh trong trình xem.
  2. Tôi xóa tập tin hình ảnh / thư mục.
  3. Tôi đang cố gắng cam kết / cập nhật

Đóng trình xem ảnh nơi mở tệp bị xóa sẽ giải quyết vấn đề. Có lẽ các phần mềm khác có thể chặn dọn dẹp theo cùng một cách.

Nói chung. Tôi tin rằng khởi động lại máy tính có thể giúp đỡ trong những trường hợp như vậy.


1

SVN thường cập nhật cấu trúc bên trong của nó (.svn / prop-base) của các tệp trong một thư mục trước khi các tệp thực tế được tìm nạp từ kho lưu trữ. Khi các tập tin được tìm nạp, nó sẽ bị xóa. Thường thì lỗi được ném vì "cập nhật" không thành công hoặc bị hủy sớm trong quá trình cập nhật.

  1. Kiểm tra bất kỳ tệp nào được liệt kê trong thư mục .svn / prop-base
  2. Xóa mọi tập tin không thuộc thư mục
  3. Dọn dẹp
  4. Cập nhật

Bây giờ cập nhật sẽ hoạt động.


1

Có vấn đề tương tự vì tôi đã xuất một thư mục trong thư mục được kiểm soát phiên bản. Phải xóa thư mục khỏi TortoiseSVN, sau đó xóa thư mục khỏi hệ thống tệp (TortoiseSVN không thích các thư mục con không được đảo ngược ... tại sao không ???)


Tôi nên thêm rằng tôi đã xuất một thư mục ĐẾN CÙNG FAMEER .. đây là cách bạn hủy đảo ngược. thư mục phiên bản.

1

Bắt đầu tìm kiếm .... Khóa ... Chọn tất cả các tệp được liệt kê và xóa..được sửa


1

những điều sau đây nên làm:

tình trạng svn | grep ". L" | sed 's /.* (. *) $ / \ 1 /' | awk '{chiều dài in ($ 1), $ 1}' | sắp xếp -nr | awk '{in "đẩy" $ 2 "; svn dọn dẹp; popd"}' | sh


1

Đừng xóa giải pháp của bạn!

trong thư mục .svn bạn có một tệp gọi là khóa, nó dài 0 byte

Bạn có thể xóa tất cả các tệp này khỏi tất cả các thư mục .svn trong giải pháp của mình và nó sẽ hoạt động

Nó hoạt động trong trường hợp của tôi


Đây là giải pháp đơn giản nhất! Làm việc cho tôi
Nathan

Có, thật không may, nó không hoạt động cho phiên bản mới nhất của SVN. Đối với phiên bản mới nhất, bạn phải xóa nó vì không còn tệp khóa. dường như không còn bất kỳ tập tin nào có cấu trúc thư mục hoàn toàn khác. Nếu bất kỳ ai biết nếu có bất cứ điều gì vẫn có thể được sửa đổi theo cách tương tự như ở trên, xin vui lòng chia sẻ với chúng tôi.
Para

1

Việc đảo ngược các tệp tại chỗ và kiểm tra mới vào cùng một vị trí, đã giải quyết vấn đề này cho tôi.

Trong TortoiseSVN, để thực hiện đảo ngược tại chỗ, kéo chuột phải vào thư mục gốc của bản sao làm việc từ danh sách tệp vào chính nó trong cây thư mục và chọn "SVN Xuất các mục được phiên bản tại đây" từ menu bật lên. TortoiseSVN thông báo rằng đích đến giống như nguồn và đề nghị hủy đảo ngược bản sao làm việc.

Sau khi hủy đảo ngược, hãy thực hiện kiểm tra mới vào cùng một thư mục (hiện có chứa một bản sao không đảo ngược của tất cả các tệp bạn có). TortoiseSVN sẽ cảnh báo bạn rằng bạn đang kiểm tra vào một thư mục hiện có, nhưng bạn có thể tiếp tục.

Sau này, dọn dẹp, cập nhật và các hoạt động khác hoạt động mà không gặp trở ngại. Vì cả hai bước trên đều bảo tồn các sửa đổi cục bộ, nên không có bất kỳ mất thông tin nào (nhưng sao lưu bản sao làm việc trước khi điều này có thể vẫn là một ý tưởng tốt).

Một cảnh báo: Nếu bản sao làm việc có chứa các phiên bản hỗn hợp hoặc thay đổi thuộc tính không được cam kết, thông tin đó SILL sẽ bị mất. Đối với tôi, đây không phải là một sự xuất hiện phổ biến và được lựa chọn một bản sao làm việc bị hỏng hoặc mất các thay đổi tài sản không được cam kết, tôi có xu hướng lựa chọn sau.


1

Tôi đã có vấn đề này khi "dọn dẹp" hoạt động, nhưng "cập nhật" sẽ tiếp tục thất bại. Giải pháp hiệu quả là xóa thư mục đang được đề cập qua Windows Explorer, chứ không phải xóa của TortoiseSVN (đánh dấu việc xóa là một thứ gì đó để cam kết với kho lưu trữ, và sau đó tôi đã thực hiện "kiểm tra" để "cập nhật" thư mục từ kho lưu trữ.

Thông tin thêm về sự khác biệt giữa xóa O / S và xóa SVN tại đây: http://tortoisesvn.net/docs/release/TortoirSVN_en/tsvn-dug-rename.html

Đáng chú ý:

Khi bạn TortoiseSVN → Xóa một tệp, nó sẽ bị xóa khỏi bản sao làm việc của bạn ngay lập tức cũng như được đánh dấu để xóa trong kho lưu trữ trên lần xác nhận tiếp theo.

Và:

Nếu một tệp bị xóa thông qua trình thám hiểm thay vì sử dụng menu ngữ cảnh TortoiseSVN, hộp thoại cam kết sẽ hiển thị các tệp đó và cho phép bạn xóa chúng khỏi kiểm soát phiên bản trước khi cam kết. Tuy nhiên, nếu bạn cập nhật bản sao làm việc của mình, Subversion sẽ phát hiện tệp bị thiếu và thay thế nó bằng phiên bản mới nhất từ ​​kho lưu trữ.


1

Nếu bạn đang dùng Linux, hãy thử điều này:

find "/the/path/to/your/directory" -name .svn -type d | xargs chmod 0777 -R

Sau đó chạy cleanuplệnh trên thư mục đó, sau đó thử cập nhật.


1

Tôi đã làm như sau để khắc phục vấn đề của mình:

  1. Đổi tên thư mục vi phạm bằng cách đặt "_" trước tên thư mục.
  2. Đã "Dọn dẹp" thư mục mẹ.
  3. Đổi tên thư mục vi phạm trở lại tên ban đầu.
  4. Đã cam kết.

1

Trong giải pháp thám hiểm, nhấp chuột phải vào dự án, trong menu phụ mở nhấp vào lật đổ và chọn dọn dẹp. Nó sẽ giải quyết vấn đề, như nó đã làm cho tôi. Hy vọng nó sẽ làm việc.


1

Dọn dẹp

  1. Xóa thư mục .svn.

  2. Làm svncheckout trong thư mục gốc.

  3. Hãy thử thực hiện thao tác dọn dẹp.

Điều này đã giải quyết vấn đề của tôi.

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.