2009-08-21 15 views
26

Câu hỏi ban đầu là "Làm cách nào để cấu hình WinMerge làm công cụ so sánh và hợp nhất cho TFS". Tuy nhiên, tôi đang thay đổi nó vì TehOne đã trả lời mẫu câu hỏi tổng quát hơn này.Làm cách nào để cấu hình TFS hoạt động với các công cụ hợp nhất khác nhau

Tôi sẽ có mặc dù điều này đã được yêu cầu trên Stackoverflow. Tôi tìm thấy câu trả lời ở nơi khác, nhưng tôi hỏi/trả lời ở đây. Nó bây giờ là một wiki cộng đồng.

Trả lời

33

Khi tôi đang tìm kiếm cách để làm điều này , Tôi thấy bài đăng này là vô giá: http://blogs.msdn.com/jmanning/articles/535573.aspx

+1

của bạn câu trả lời làm cho tôi thay đổi câu hỏi và biến nó trở thành một wiki cộng đồng. –

+1

Rất vui vì tôi có thể giúp đỡ, nhưng tín dụng thực sự của khóa học sẽ đến với James Manning cho bài đăng trên blog của anh ấy. Nó thực sự đã giúp tôi. Tôi không thể chịu được các công cụ tích hợp của VSS/TFS. Vì vậy, có thể sử dụng Beyond Compare đã được cài đặt của tôi là rất tốt. Cảm ơn bạn đã biến trang wiki này thành mọi người để tham khảo về sau. – TehOne

+0

Các tham số mà ông sử dụng cho SourceGear DiffMerge là không chính xác. Các thông số chính xác có thể được tìm thấy [ở đây] (http://stackoverflow.com/a/17523972/7850) –

12

Thủ tục dài được cung cấp trong a Rory Primrose blog posting

Câu trả lời ngắn gọn là danh sách đối số để so sánh là:

/x /e /ub /wl /dl %6 /dr %7 %1 %2 

và danh sách đối số cho hợp nhất là:

/x /e /ub /wl /dl %6 /dr %7 %1 %2 %4 

Đôi khi WinMerge không trả lại 0 và TFS sẽ cho rằng hợp nhất đã bị hủy. Bạn cần phải sử dụng các tập tin batch wrapper sau cho việc sáp nhập:

@rem winmergeFromTFS.bat 
@rem 2007-08-01 
@rem File created by Paul Oliver to get Winmerge to play nicely with TFS 
@rem 
@rem To use, tell TFS to use this command as the merge command 
@rem And then set this as your arguments: 
@rem %6 %7 %1 %2 %4 
"C:\Program Files\WinMerge\WinMerge.exe" /x /e /ub /wl /dl %1 /dr %2 %3 %4 %5 
exit 0 

Và sau đó bạn thiết lập danh sách đối số để:

%6 %7 %1 %2 % 

exit 0

0

Đối với SourceGear DiffMerge, bạn cần thay đổi dòng lệnh mặc định thành:

C: \ Program Files (x86) \ SourceGear \ Vault Khách hàng \ sgdm.exe

tôi thấy các thông số trong this thread trên các diễn đàn hỗ trợ SourceGear, cũng như trên blog của James Manning bằng cách đề cập @TehOne, nhưng các đối số được đưa ra là không chính xác và dẫn đến kết hợp tự động được thực thi ngược lại, tức là mã cũ sẽ ghi đè mã mới. Những lập luận đúng là:

/m/t1 =% 6/t2 =% 7/t3 =% 8/c =% 9% 1% 3% 2/r =% 4