2010-08-25 24 views

Trả lời

17

Bạn không thể hợp nhất hai bản sao làm việc riêng biệt, nhưng có một số việc bạn có thể làm.

Nếu thay đổi được thực hiện cho tệp hiện có, cách dễ nhất là tạo bản vá với svn diff và sau đó chỉ áp dụng bản vá đó cho bản sao làm việc khác. Ví dụ. trong làm việc đầu tiên sao chép bạn làm:

svn diff > patch 

Và sau đó bạn áp dụng nó trong một trong những khác:

patch -p0 < patch 

Và như thường lệ bạn muốn chạy patch với các tùy chọn --dry-run để đảm bảo nó hoạt động đầu tiên .

Tuy nhiên, nếu các chi nhánh không có bố cục tệp giống nhau, thì bạn không thể chỉ lấy một bản vá và áp dụng nó. Trong trường hợp này, những gì bạn cần làm chỉ đơn giản là đầu tiên cam kết các thay đổi cục bộ khác và sau đó sử dụng svn merge như thường lệ

+0

'Patch' cũng là lệnh svn? Có vẻ như nó chưa được cài đặt trên máy tính Windows của tôi. – Mot

+0

Không, vá chỉ là một công cụ chung để áp dụng các tệp vá. Bạn có thể lấy nó cho các cửa sổ ở đây: http://gnuwin32.sourceforge.net/packages/patch.htm –

+4

Bạn có thể vá từ trình đơn nhấp chuột phải của TortoiseSVN nếu bạn sử dụng TortoiseSVN. –

1

Nếu thay đổi của bạn bao gồm xóa, sử dụng bản vá GNU sẽ không cắt. Nếu bạn muốn các thay đổi được cam kết cho cả hai nhánh, hãy cam kết chúng trong một, sau đó svn hợp nhất các thay đổi đó với nhánh khác. Nếu bạn đã thực hiện các thay đổi trong nhánh A và cần chúng trong nhánh B thay vào đó, svn chuyển nhánh của bạn Bản sao làm việc sang nhánh B.

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