2009-11-05 19 views
5

Thường xuyên, tôi nhận được bản phát hành mới của phần mềm của nhà cung cấp, được phân phối dưới dạng mã nguồn trong gói nén và tôi không có quyền truy cập vào nguồn của nhà cung cấp kho lưu trữ mã. Chúng tôi thực hiện thay đổi đối với mã nguồn của nhà cung cấp giữa các bản phát hành của họ. Những thay đổi của chúng tôi không được tích hợp vào bản phát hành của họ, nhưng tôi cần hợp nhất các thay đổi từ bản phát hành của họ vào dòng chính của tôi.Subversion: Hợp nhất các bản phát hành mã nguồn của nhà cung cấp vào dòng chính theo các khoảng thời gian đều đặn

bố trí kho lưu trữ của tôi trông như thế này:

  • /chi nhánh/Vendor phát hành X 1.0
  • /chi nhánh/Vendor phát hành X 1.1
  • /trunk/

Các quy trình làm việc tôi theo là:

  1. Tôi đã thêm Nhà phát hành X phát hành 1.0 làm chi nhánh và sau đó sao chép nó vào thân cây.
  2. Chúng tôi đã thực hiện một số thay đổi đối với mã nguồn trên thân cây và sau đó nhận được Bản phát hành nhà cung cấp X 1.1.
  3. Tôi đã thêm Bản phát hành nhà cung cấp X 1.1 vào chi nhánh. Bây giờ, tôi muốn hợp nhất Nhà phát hành X phát hành 1,1 vào thân cây.

Vấn đề tôi đang gặp là không có vấn đề làm thế nào tôi thử điều này, tôi kết thúc với việc hợp nhất không dẫn đến thay đổi thân cây hoặc mỗi tệp được báo cáo là xung đột cây.

Tôi nghĩ rằng tôi muốn bằng cách nào đó thực hiện những điều sau đây: yêu cầu Subversion hợp nhất từng tệp mà không xem xét đến số sửa đổi của tệp. Tôi nghĩ rằng Subversion đang báo cáo xung đột cây cho mỗi tệp, bởi vì các tệp không bắt nguồn từ cùng một điểm trong lịch sử sửa đổi. Tuy nhiên, trong nhiều trường hợp, các tệp này giống hệt nhau.

Cảm ơn bạn trước vì đã được trợ giúp.

+0

Bạn có thể đăng các lệnh bạn đang thực thi và thông báo lỗi kết quả của chúng không? –

Trả lời

5

Trong thuật ngữ không lật đổ, bạn muốn tích hợp các thay đổi giữa nhà cung cấp X phát hành 1.0 và nhà cung cấp X phát hành 1.1 vào thân cây của bạn.

Tôi sẽ chỉ tạo một chi nhánh nhà cung cấp X và sử dụng thẻ để xác định số phiên bản. Bất cứ khi nào bạn nhận được phiên bản X của nhà cung cấp mới, hãy thanh toán chi nhánh, sao chép tệp của phiên bản mới vào thư mục làm việc của bạn, áp dụng svn addsvn delete khi thích hợp và cam kết. Subversion giờ đây có thông tin diff chính xác cho mọi thứ mà nhà cung cấp X đã làm trong hai phiên bản. Sau đó, bạn có thể hợp nhất các thay đổi giữa hai phiên bản cuối cùng của nhà cung cấp (còn gọi là bản sửa đổi tweo cuối cùng trong nhánh X của nhà cung cấp) với thân cây.

+0

Đây là những gì tôi cần làm. Cảm ơn bạn đã hướng dẫn. Tôi sẽ liệt kê các bước chính xác mà tôi đã làm theo bên dưới. – RjOllos

2

IMHO bạn có thể tránh hợp nhất. Dưới đây là nó:

  1. Tạo 1.0 chi nhánh
  2. Sao chép 1,0-1,1
  3. Thực hiện tất cả các thay đổi cần thiết trên 1,1
  4. Sao chép 1,1 đến thân cây.

Nếu bạn vẫn khăng khăng sáp nhập thì:

  1. Tạo 1.0
  2. Sao chép 1.0 đến thân cây
  3. Sao chép 1,0-1,1
  4. Make cần thay đổi 1.1
  5. Merge thay đổi được thực hiện đến 1.1 đến thân cây. Các thay đổi bắt đầu từ 1.1 cho đến khi kết thúc.

This cũng có thể hữu ích

+0

+1 cho liên kết đến tài liệu –

1

Giải pháp Tôi đi theo là:

  1. Tạo một thông cáo/dòng cho phần mềm nhà cung cấp.
  2. Đã thêm Phát hành 1.0 vào bản phát hành/dòng.
  3. Phát hành nhánh/để tạo thân cây/và sau đó thay thế thân cây/bằng bản sao làm việc có chứa tất cả các thay đổi tôi đã thực hiện sau Bản phát hành 1.0.
  4. Đã kiểm tra bản sao làm việc của bản phát hành 1.0 và được thêm vào bản phát hành 1.1. Cam kết.
  5. Phát hành hợp nhất/vào thân cây /. Không xung đột cây hoặc xung đột hợp nhất.
Các vấn đề liên quan