2013-11-15 12 views
11

Tôi có kịch bản này:Làm thế nào để đối phó với xung đột cây trong khi hợp nhất bằng TortoiseSVN, trong trường hợp thư mục bị xóa?

  • Một thư mục với nội dung sẽ bị xóa khỏi bản sao cục bộ chi nhánh của chúng tôi. Những thay đổi được cam kết trong Chi nhánh SVN. (Chúng tôi vẫn có thư mục này trong Trunk)
  • Bây giờ tôi muốn hợp nhất mọi thứ từ Chi nhánh thành Thân cây
  • Tôi chuyển đến bản sao cục bộ của Trunk, Merge from SVN và tôi chọn chi nhánh của chúng tôi (lần đầu tiên hợp nhất các thay đổi từ SVN-Branch tới LocalCopy-Of-Trunk)
  • Xung đột cây xuất hiện
  • Tôi đóng cửa sổ tortoiseSVN và đi đến cấu trúc thư mục trong trình thám hiểm.
  • Thư mục là có (nhưng đánh dấu là mâu thuẫn trong SVN)
  • tôi xóa các cấu trúc thư mục bằng tay (Do đây là muốn tôi chỉ muốn)
  • tôi đi đến TortoiseSVN đúng cấp nhấp chuột> TortoiseSVN-> Quyết tâm, có tôi thấy xung đột, i đánh dấu điều này là đã giải quyết và nhấp vào OK.

Đây có phải là cách phù hợp để thực hiện không?

Tại rất thời điểm này, bất cứ khi nào tôi muốn làm sth hơn với SVN trong cùng một gốc, tôi thấy lỗi này:

Error: Merge tracking not allowed with missing subtrees; tryo restoring items

Khi tôi muốn cam kết tất cả những điều tôi đã ở địa phương sáp nhập (từ SVNBranch tới LocalCopyOfTrunk) đến Trunk, tôi thấy thư mục có vấn đề và nội dung của nó có trạng thái thiếu. Tôi đánh dấu tất cả những điều tôi muốn cam kết (không có những thứ đó mất tích), nhấn OK, và nhận được cảnh báo này:

Non-recursive commit of moved/renamed folders (This commit is not recursive, and there are moved/renamed folders selected for commit. Such moves/renames are always performed recursively in the repository. Do you want to commit anyway?)

Khi tôi mở thư mục mẹ của thư mục gốc vấn đề, TortoiseSVN-> Hoàn nguyên, và phục hồi chúng trở lại, SVN chạy một lần nữa mà không có vấn đề gì. Nhưng làm cách nào để xóa chúng? Cách tốt hơn để giải quyết xung đột cây này là gì?

Trả lời

3

Is this the right way to do it?

số

Sau khi thực hiện hợp nhất của bạn, TortoiseSVN sẽ hiển thị một cửa sổ với tất cả các cuộc xung đột cây đánh dấu màu đỏ. Nhấp đúp vào chúng sẽ hiển thị hộp thoại có các tùy chọn. Một trong các tùy chọn này là Xóa Thư mục Địa phương. Nhấp chuột này làm cho TortoiseSVN xóa thư mục cho bạn và đánh dấu xung đột là đã giải quyết.

+0

Subversion sẽ không cho phép bạn thực hiện hợp nhất cho đến khi xung đột được giải quyết. Làm thế nào để bạn giải quyết nó để bạn có thể hợp nhất? – Suncat2000

+0

TortoiseSVN không hiển thị tùy chọn đó, ít nhất là không phải khi chi nhánh cục bộ đã sửa đổi các tệp bên trong thư mục đã xóa. Các lựa chọn là "Chấp nhận trạng thái sao chép làm việc hiện tại (đánh dấu là đã giải quyết)" và "Giải quyết sau". Không có tùy chọn để xóa tệp và đánh dấu là đã giải quyết. Rất không trực quan. Bạn phải đi đến Explorer và tự mình làm việc, sau đó đánh dấu là đã giải quyết. – DannyMeister

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