2008-10-21 27 views
5

Tôi gặp sự cố khi thực hiện thay đổi sau khi hợp nhất hai nhánh của dự án của tôi bằng TortoiseSVN.Tôi không thể thực hiện thay đổi sau khi hợp nhất trong SVN

Dưới đây là chi tiết:

tôi đã một chi nhánh hợp nhất để cốp dự án mà tôi đang làm việc trên.

Dự án bao gồm kho chính và các thư viện chung để kho chính như svn bên ngoài (thư viện cũng được phân nhánh) như thư mục con của dự án.

Khi tôi đã cố gắng để thực hiện những thay đổi TortoiseSVN nói:

Commit A 
re all the targets part of the same working copy? 
Unable to lock 'D:\websites\project\lib' 
Please execute the "Cleanup" command. 

Tất nhiên Cleanup không giúp đỡ.

svn: ngoài từ khóa cho dự án thư mục đã được xác định rõ ràng, cũng lib thư mục vẫn chứa phiên bản thích hợp của thư viện (phiên bản thân).

Cả máy chủ và máy khách SVN đều có phiên bản 1.5.x (TortoiseSVN là 1.5.3.x).

Từ quan điểm kỹ thuật, cả hai dự ánthư viện là các dự án trong cùng một kho lưu trữ SVN.

Bất kỳ ý tưởng nào đã xảy ra sự cố?

Tôi đã googling một chút cho các giải pháp, nhưng không tìm thấy bất cứ điều gì hữu ích, vì vậy tôi cố gắng để thực hiện những thay đổi của tôi trong hai bước:

  1. cam kết thay đổi từ thư mục dự án
  2. cam kết thay đổi từ thư mục thư viện

Điều gì đã xảy ra mà không gặp bất kỳ sự cố nào.

Nhưng tôi vẫn tự hỏi tại sao tôi không thể cam kết mọi thứ trong một lần commit.

CHỈNH SỬA:

  • (Sau Ken G câu trả lời) Cố định phiên bản của TortoiseSVN 1.3.x -> 1.5.3.x.
+0

Đây là một cái gì đó phức tạp hơn :( Hôm nay tôi đã nhận lỗi này khi tôi đã cập nhật kho - SVN không thể khóa thư mục đó là trong kho Sau khi dọn dẹp SVN nói:. Không thêm thư mục 'D: \ sites \ project \ import ': một thư mục có cùng tên đã tồn tại Tôi sẽ điều tra nó –

Trả lời

1

svn: ngoài sẽ gây Subversion để kết hợp đường dẫn kho lưu trữ khác nhau trên check-out, nhưng cuối cùng những con đường vẫn còn 'rời nhau, vì vậy bạn phải làm hai cam kết để có được những thay đổi áp dụng.

Dưới đây là đoạn trích có liên quan từ Version Control with Subversion

Và Subversion vẫn thực sự hoạt động chỉ trên bản sao làm việc nondisjoint. Ví dụ: Ví dụ: nếu bạn muốn cam kết thay đổi mà bạn đã thực hiện trong một hoặc nhiều bản sao làm việc bên ngoài đó, bạn phải chạy svn cam kết rõ ràng trên các bản sao làm việc — cam kết trên bản sao làm việc chính không recurse vào bất kỳ bên ngoài.

+0

Ken - đây là cùng một kho lưu trữ - Tôi thực hiện hợp nhất mỗi tuần một lần và luôn hoạt động - tôi có thể cam kết TortoiseSVN hiển thị cho tôi trong các tệp cửa sổ Commit cả từ thư mục dự án thư mục lib lib - thậm chí thư mục lib chính nó (thuộc tính svn: merge đã được thay đổi) –

+0

JFTR, "các bản ghi khác nhau đường dẫn itory "nằm trong cùng một kho lưu trữ - chúng chỉ khác nhau _paths_, phải không? Vì vậy, sau khi nâng cấp lên 1.5.3 TortoiseSVN, bạn sẽ thấy hành vi tương tự? Cùng một thông báo lỗi? –

+0

Có. Vẫn còn hành vi tương tự. Theo http://svn.haxx.se/users/archive-2008-01/0814.shtml đây không phải là lỗi, nhưng là tính năng :). Vì vậy, bạn đã đúng. Có lẽ phiên bản eariler của TortoiseSVN đã che giấu hành vi này. –

1

Tôi nghĩ rằng tôi nhớ đọc về một lỗi liên quan đến điều này trong TortoiseSVN đã được khắc phục trong bản phát hành mới nhất. Kiểm tra release notes mới nhất.

2

1.3 của TortoiseSVN là rất cũ, bản sửa đổi mới nhất là 1.5.x. Đã có nhiều thay đổi trong cả Subversion và TortoiseSVN kể từ 1.3, vì vậy việc nâng cấp ứng dụng của bạn có lẽ là đặt cược tốt nhất của bạn.

Có nói rằng, 1.5 TortoiseSVN sẽ tạo/cập nhật Bản sao làm việc sang định dạng phiên bản 1.5.RẤT CẨN THẬN TRỌNG khi sử dụng TortoiseSVN (hoặc bất kỳ máy khách SVN nào) so với bản sao làm việc của Subversion trước đó.

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