2011-08-06 28 views
20

Khi tôi thực hiện svn update và SVN đã hỏi tôi về một số khác biệt, tôi đã yêu cầu hoãn lại.SVN Update hoãn -> Cách giải quyết?

Bây giờ tôi muốn giải quyết chúng, nhưng svn update chỉ cho tôi biết "cập nhật", mặc dù svn diff cho tôi thấy sự khác biệt.

Làm cách nào để tôi thực hiện svn update hỏi tôi về các xung đột một lần nữa?

+0

Còn trạng thái 'svn' thì sao? 'svn update' không nên xuất ra bất cứ thứ gì miễn là không có gì được thêm vào kho lưu trữ trung tâm – zerkms

+0

' svn status' hiển thị như thế nào? Bất cứ điều gì về thay đổi? –

+0

@zerkms: 'svn status' hiển thị nhiều tệp có'? 'Ở phía trước, cũng như một số tệp' M' và 'C' (không chắc chắn ý nghĩa của chúng). – Mehrdad

Trả lời

16

svn update sẽ không hỏi về xung đột một lần nữa vì nó đã xử lý chúng.

Đối với ý nghĩa của svn status, The ? file không được quản lý bởi SVN, các M người đã được sửa đổi, và C người là những mâu thuẫn mà bạn trì hoãn. Nếu bạn mở một trong các tệp C và xem qua nó, bạn sẽ thấy các điểm đánh dấu trong mã của bạn hiển thị cho bạn nơi xung đột. Bạn cần chỉnh sửa từng cái trong số này, sửa các xung đột và xóa các điểm đánh dấu. Và sau đó bạn cần chạy svn resolve để báo cho SVN biết mọi thứ đều ổn. Đảm bảo sử dụng tùy chọn --help và Google để tìm hiểu cách hoạt động của svn resolve trước khi bạn chạy.

Nếu bạn không làm tất cả điều này, svn commit sẽ không hoạt động nữa.

svn status thực sự quan trọng để hiểu, bởi vì svn diff chỉ hiển thị những điều đã xảy ra cục bộ sau svn update. Tuy nhiên, svn status -u cung cấp tổng quan sau khi truy vấn kho lưu trữ. Quan trọng nhất, nó xác định rõ ràng các tập tin có xung đột (C trong cột 1) mà bạn phải mở trong một trình soạn thảo và kiểm tra thủ công.

+27

Câu trả lời của bạn rất hữu ích, nhưng giọng của bạn khá thô lỗ. Tôi có một vấn đề tương tự như poster gốc (đã trì hoãn một số thay đổi sau 'svn merge'), và trang SO này là kết quả đầu tiên trên Google! – knite

+1

Chỉnh sửa: Trạng thái svn sẽ chỉ chuyển đến kho lưu trữ nếu bạn chỉ định '-u', nếu không nó chỉ xem xét các tệp trong thư mục .svn – ahawtho

6

Khi bạn chạy svn commit, bạn sẽ có danh sách các tệp xung đột. Sau đó bạn có thể giải quyết xung đột bằng cách phát hành các lệnh như:

svn resolve --accept=theirs-full '/path/to/the/file' 

Loại svn resolve --help cho một danh sách các phương thức giải quyết xung đột có sẵn.

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