2010-02-15 27 views
5

Có công cụ nào có sẵn cho phép tôi rebase theo kiểu git một nhánh SVN trên một phụ huynh mới không?Công cụ SVN để rebase một chi nhánh theo kiểu git

Vì vậy, trong các tình huống sau đây, tôi tạo ra một chi nhánh tính năng, và có những cam kết với thân cây

   E---F---G Feature 
      /
A---B---C---D--H--I trunk 

Tôi đang tìm kiếm một công cụ mà bản thân, và áp dụng các cam kết từng người một , cho phép tôi giải quyết bất kỳ xung đột nào nếu có tồn tại - nhưng mỗi cam kết vẫn giữ nguyên thông báo cam kết đó, và vẫn là một cam kết riêng biệt.

    E'---F'---G' Feature 
       /
A---B---C---D--H--I trunk 

Vì vậy, cam kết E 'sẽ là một cam kết với những thay đổi tương tự như E, ngoại trừ trong trường hợp của E gây ra một cuộc xung đột, trong trường hợp này E' sẽ khác với E trong E rằng' có những mâu thuẫn được giải quyết, và thông điệp cam kết tương tự như E.

Tôi đang tìm kiếm điều này vì nó giúp giữ cho các chi nhánh được cập nhật với thân cây - cách svnmerge.py/mergeinfo không giúp được, vì bạn vẫn cần phải giải quyết các thay đổi của mình khi bạn hợp nhất trở lại thân cây.

Trả lời

3

Có một rebase command trong tiện ích sv cho svn. Tôi chưa bao giờ sử dụng nó, bởi vì nó tạo ra một nhánh mới.

+1

SVN làm cho khó khăn này. Bạn có thể làm bước đăng, Xóa chi nhánh đã được khởi động lại và thay thế bằng phiên bản đã được rebased. Tôi giả sử svn sẽ phát nổ ngay sau khi ai đó với các thay đổi cục bộ đã cố gắng cập nhật. –

0

Để giữ cho một chi nhánh được cập nhật với những thay đổi trong thân cây, bạn chỉ cần nhập thân cây vào nhánh bằng cách sử dụng svn merge.

+0

Luồng công việc đó có tương đương trực tiếp trong Git, 'git merge'. Anh ta hỏi nếu có một tương đương trong Subversion để 'git rebase'. –

+3

Vâng, điều đó cũng có thể là như vậy. Và khi làm việc với git (tôi hiểu rằng git thậm chí có thể sử dụng một repo SVN hiện có) thì đó thực sự có thể là cách tốt nhất để làm. Tuy nhiên, khi làm việc với SVN, cách để đưa một nhánh SVN hiện có được cập nhật với những thay đổi mới nhất trong thân cây là làm những gì tôi đã viết - đó là lý do tại sao tôi đã viết nó theo cách đó. – sbi

+0

@Ben Tôi biết không có tương đương về lật đổ, nhưng tôi tự hỏi liệu có bất kỳ công cụ của bên thứ ba nào có hiệu quả được rebased – timmow

0

Tôi là một người sử dụng SVN lâu dài nhưng có khả năng chống lại các nhánh trong git, với tôi ít nhất, có vẻ là tính năng quan trọng nhất. Thật không may tất cả các tài liệu quảng cáo tiếp thị git bóng dường như tập trung vào kho lưu trữ 'tính năng' như là một trong những lớn - đó không phải là quan trọng đối với kịch bản của chúng tôi.

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