2017-10-17 73 views
7

Trong TortoiseSVN documentation about merging, các hướng dẫn cho "sáp nhập hai cây khác nhau" nhà nước như sau (tôi nhấn mạnh):Tại sao hợp nhất cây thành "số phiên bản cuối cùng mà hai cây đã được đồng bộ hóa"?

Trong cả hai Từ lĩnh vực sửa đổi và Để sửa đổi trường, nhập số phiên bản cuối cùng tại đó hai cây đã được đồng bộ.

Điều này có đúng không? Điều này không có nghĩa gì với tôi. Lấy một ví dụ minh họa này, trong đó chúng tôi mong muốn hợp nhất "chi nhánh" ở phiên bản 105 trở thành "thân cây":

enter image description here

Nếu không có gì đã cam kết trunk sau khi phân nhánh (tức là nếu phiên bản 101 không tồn tại) , chúng tôi sẽ hợp nhất từ ​​thân cây HEAD (mà sẽ được sửa đổi 100) để chi nhánh HEAD (sửa đổi 105). Có ý nghĩa.

Nhưng 101 không tồn tại. Các tài liệu nói rằng chúng ta phải hợp nhất từ ​​thân cây ở số sửa đổi cuối cùng mà hai cây đã được đồng bộ hóa (tức là sửa đổi 100, có ý nghĩa tổng thể) để chi nhánh tại ... số sửa đổi cuối cùng mà hai cây đã được đồng bộ hóa ... đó là những gì?

  • 102? (không, nó không đồng bộ với thân cây)
  • 100? (không, nó không phải ngay cả trên chi nhánh)
  • Chẳng phải nó thực sự là 105 sao? Điều này có vẻ là người duy nhất có ý nghĩa, nhưng với tôi điều này mâu thuẫn với các tài liệu.

Tôi thiếu gì ở đây? Tài liệu có đúng không? Gây hiểu lầm? Sai rồi?

+0

Nếu nhánh không được đồng bộ từ thân 'phiên bản 101' có thể xung đột hoặc mất tích khi hợp nhất toàn bộ nhánh với thân – janith1024

+0

Bạn có thể trình bày một đối số hợp lý để xóa văn bản mở rộng trên [tag: parallelism-Amdahl]. trên các bước ban đầu, dựa trên đó Gene M. AMDAHL đã xây dựng quan sát về cải tiến quy trình xử lý? >>> https://stackoverflow.com/posts/18374630/revisions ** Có bất kỳ sự kiện xóa nào đã từng cải thiện một kiến ​​thức nghiêm ngặt không? ** – user3666197

+0

@ user3666197 Um, tôi tin rằng bạn đang bình luận về bài meta sai ... Công chúa của bạn đang ở [một lâu đài khác] (https://meta.stackoverflow.com/questions/360170/odd-looking-recent-revision-of-tagparallelism-amdahl-tag-wiki). –

Trả lời

0

Tôi không hiểu tại sao bạn muốn hợp nhất các cây khác nhau tùy chọn. Theo hình ảnh, bạn nên sử dụng hợp nhất tái hòa nhập tự động. Xem TortoiseSVN Manual | Merging a Range of Revisions.

Sử dụng bản sao làm việc của thân cây tại HEAD và chọn tùy chọn Hợp nhất một loạt các sửa đổi và nhấp vào Tiếp theo-Tiếp theo-Hợp nhất. Việc hợp nhất từ ​​nhánh này sang nhánh khác sẽ tự động hoàn thành.

0

Tôi sẽ không khuyên bạn nên sử dụng svn để phân nhánh theo kiểu git mà bạn đang cố gắng làm, chỉ cần sử dụng nhánh nếu bạn có lý do chính đáng (như có chi nhánh sản xuất và phát triển hoặc một số tính năng thời gian dài để phát triển và ngăn người khác thực hiện công việc của họ).

Đơn giản vì svn sao chép toàn bộ thư mục, thay vì chỉ giữ các thay đổi như git, chẳng hạn.

Tôi đã đốt 4 ổ ssd sáp nhập tòi trên cơ sở hàng ngày vào các dự án của tôi ...

Bạn không cần phải dựa vào SVN Rùa và tài liệu hướng dẫn của họ, Rùa SVN chỉ là một giao diện cho svn. Vì vậy, về cơ bản trong SVN, không có sự khác biệt giữa chi nhánh/thẻ hoặc bất cứ điều gì, nó luôn luôn hoạt động theo cùng một cách, vì vậy IMHO, tài liệu Tortoise SVN là gây hiểu lầm, không có sự khác biệt nếu bạn đang sáp nhập chi nhánh vào thân cây, hoặc phó -versa.

Nó cũng phụ thuộc vào phiên bản cơ bản của SVN bạn có, tốt nhất là có phiên bản dựa trên svn 1.7 hoặc cao hơn.

Vì vậy, nếu bạn muốn "tái hòa nhập chi nhánh", chỉ đơn giản là từ dòng lệnh, điều hướng đến thân của bạn, hoặc bất cứ thư mục được gọi và gõ

svn merge ^/branch/branch_name 

Và xóa chi nhánh sau đó ...

Tortoise SVN cũng cho phép bạn có svn trong giao diện điều khiển, chỉ cần khởi động lại nó cài đặt, và kích hoạt tính năng dòng lệnh svn.

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