2012-11-08 30 views
21

Tôi có vấn đề rất khó chịu này, nơi tôi đang cố gắng hợp nhất thân cây của chúng tôi vào chi nhánh của tôi để cập nhật một số. Tôi đã làm điều này trên cơ sở hàng ngày nhưng hầu như mỗi ngày tôi nhận được lỗi sau:'Thư mục' đã bị khóa bởi 'Thư mục'

Error - 'D:\Code\Website' is already locked via 'D:\Code\Website'. 

Chỉ rất ngẫu nhiên lỗi này không xảy ra và tôi có thể hợp nhất thành công thân cây trở lại nhánh. Tuy nhiên, tất cả các ngày tôi đã cố gắng để có được mới nhất từ ​​thân cây mà không thành công. Tôi đã nhìn cao và thấp cho câu trả lời cho vấn đề này .. SO, Google, diễn đàn ngẫu nhiên trên internet ... vv Tôi hy vọng một ai đó có thể làm sáng tỏ một số lý do tại sao điều này có thể xảy ra.

Đây là những gì tôi đã cố gắng:

  • Run "Dọn dẹp" trên tất cả các thư mục duy nhất trong thư mục.
  • Đã kiểm tra tệp "khóa" trong thư mục .svn - không tồn tại.
  • Mở tệp wc.db và bảng WC_LOCK đã chọn - không có gì trong đó.
  • Đã tắt chế độ chống vi-rút.
  • IIS bị vô hiệu hóa.
  • Đã kiểm tra một bản sao mới của chi nhánh.
  • Cập nhật TortoiseSVN
  • Đã hoàn tất gỡ cài đặt và cài đặt lại TortoiseSVN bằng MSI mới nhất từ ​​TortoiseSVN.net (1.7.10.23359, SVN 1.7.7).

Tôi có thể Cập nhật nhánh và Cam kết .. chưa bao giờ có vấn đề gì với điều đó. Nó chỉ là sáp nhập thân cây trở lại trong đó là gây ra cho tôi vấn đề. Không ai khác trong nhóm dường như có vấn đề này (với chi nhánh này, hoặc bất kỳ người nào khác). Họ có thể tự do kiểm tra các chi nhánh ra .. hợp nhất thân cây và cam kết nó mà không có vấn đề.

Tôi đang sử dụng TortoiseSVN. Bất kỳ sự giúp đỡ nào các bạn/các cô gái sẽ rất tuyệt vời!

CHỈNH SỬA: Ngoài ra, Thử nghiệm hợp nhất hoạt động .. nhưng một Hợp nhất thực tế thì không.

CẬP NHẬT

Hóa ra TSVNCache.exe liên tục giữ ổ khóa trên các tập tin wc.db. Tôi không biết tại sao. Ngay cả khi tôi giết quá trình; một khi tôi đi qua giao diện TSVN Merge nó sẽ kích hoạt lại bộ nhớ cache và khóa nó lại. Tôi đã quản lý để thành công hợp nhất thông qua dòng lệnh .. là có cách nào để khắc phục vấn đề khóa cache để tránh phải dựa vào dòng lệnh?

+0

Nếu nó thực sự bị khóa, "Hiển thị khóa" cho bạn biết điều gì? Bạn đang sử dụng Eclipse với các kết nối SVN? Những thứ đó, như kinh nghiệm của tôi, có xu hướng làm hỏng WC của bạn. –

+0

Không có khóa nào cả. Hộp thoại Khóa phát hành không hiển thị bất kỳ thứ gì. Visual Studio là IDE của tôi và tôi không có bất kỳ addon SVN cho nó .. –

+0

Ok. Còn khóa ngoại thì sao? Một người khác tuyên bố chi nhánh này? Có thể có sự cố với AnkhSVN. Đó là những gì bạn đang sử dụng là tốt? –

Trả lời

8

Hãy thử tắt bộ nhớ cache tình trạng biểu tượng overlay (gì quá trình TSVNcache.exe chịu trách nhiệm)

  1. Mở một cửa sổ Explorer
  2. Nhấp chuột phải bất cứ nơi nào, TortoiseSVN -> Settings
  3. Chuyển đến "Biểu tượng Lớp phủ" phần
  4. Chọn nút radio "Không" dưới Status cache
  5. Bấm Apply

Có lẽ nếu bộ đệm trạng thái bị tắt và TSVNcache.exe không chạy, thì nó không thể khóa bất kỳ tệp nào.Bạn có thể ít nhất là loại trừ liệu đây có phải là vấn đề hay không (chắc chắn nó giống như vậy). Đây là quá trình chịu trách nhiệm cập nhật các biểu tượng thư mục/tệp trong Explorer bằng dấu kiểm màu xanh lục đó, dấu hiệu sửa đổi màu đỏ, v.v. Tôi đã vô hiệu hóa điều này vì lý do hiệu suất trong nhiều năm. Tôi chỉ xem các tệp đã sửa đổi hoặc mở hộp thoại cam kết để xem tệp nào đã thay đổi.

Sau đó, nghi ngờ có khả năng tiếp theo là dịch vụ lập chỉ mục (Windows Search) từ trải nghiệm trước đây.

+0

Tôi đã làm điều này .. và bây giờ khi tôi thấy một thất bại hợp nhất và chạy 'xử lý' từ sysinternals, tôi thấy' TortoiseProc.exe' khóa nó:/ –

+0

cố gắng khởi động lại kể từ đó? –

+0

Tôi có, vâng. Ở giai đoạn này tôi sẽ đặt nó xuống máy tính của tôi chỉ là gây phiền nhiễu. Có lẽ tôi sẽ nhận được một máy tính mới ra khỏi nó? :) Cảm ơn bạn đã giúp đỡ. –

1

Tôi có cùng một sự cố trong một thời gian. Đặc biệt là kể từ khi kho của tôi đang phát triển khó khăn.

Con trỏ mà TSVNCache khóa bản sao làm việc khiến tôi suy nghĩ. Tại sao bạn đã làm được điều đó? Kết luận: chỉ khi bận rộn cập nhật trạng thái sao chép làm việc (bao gồm cả lớp phủ biểu tượng).

Một cách để khắc phục vấn đề này chính xác là những gì Joshua McKinnon nói: vô hiệu hóa lớp phủ biểu tượng. Nếu đó không phải là giải pháp bạn muốn (bởi vì bạn muốn giữ các biểu tượng) bạn cũng có thể đi cho một cách tiếp cận khác nhau: chờ đợi cho đến khi TSVNCache đã hoàn thành công việc của mình. Khi bạn mở cửa sổ hợp nhất, bạn có thể thấy TSVNCache đang bận (trong quá trình thám hiểm). Khi sự bận rộn đó kết thúc thì an toàn là hợp nhất. Không còn vấn đề gì nữa kể từ đó!

2

Một tùy chọn khác phù hợp với tôi thay vì từ bỏ Lớp phủ biểu tượng, là thay đổi thư mục trong Windows Explorer thành thư mục không phải svn và theo cách này TortoiseSVN không xung đột với chính nó. Nó rất khó chịu nhưng nếu bạn cần một giải pháp nhanh chóng - đây là nó.

4

Tôi cũng gặp vấn đề tương tự. Dưới đây là những gì tôi đã làm:

  1. Kill explorer.exe trong Task Manager
  2. Bắt đầu lại từ Task Manager
  3. Bây giờ hợp nhất hoạt động ...

Tôi đoán bằng cách nào đó Windows Explorer có thể khóa cái gì đó.

+0

Đây là một giải pháp phù hợp với tôi! :) – Neo

+0

Tôi vừa đóng cửa sổ Explorer và nó làm việc cho tôi (ít nhất là lần này - tôi có thể thấy bình luận từ những vấn đề liên quan khác, đây là điều khiến tôi thiên về Git). – TheCrazyProgrammer

Các vấn đề liên quan