2009-08-21 36 views
26

À l'origine, la question était «Comment configurer WinMerge en tant qu'outil de comparaison et de fusion pour TFS». Cependant, je le change parce que TehOne a répondu à cette forme plus générale de la question.Comment configurer TFS pour qu'il fonctionne avec divers outils de fusion

J'aurais bien que cela aurait déjà été demandé sur Stackoverflow. J'ai trouvé la réponse ailleurs, mais je demande/réponds ici. C'est maintenant un wiki communautaire.

Répondre

33

Quand je cherchais comment faire , J'ai trouvé cet article précieux: http://blogs.msdn.com/jmanning/articles/535573.aspx

+1

Votre réponse m'a fait changer la question et en faire un wiki communautaire. –

+1

Je suis heureux d'avoir pu vous aider, mais le vrai mérite revient à James Manning pour ce blog. Cela m'a vraiment aidé. Je ne peux pas supporter les outils intégrés de VSS/TFS. Donc, pouvoir utiliser mon Beyond Compare déjà installé est super. Merci d'en faire un wiki auquel tout le monde pourra se référer plus tard. – TehOne

+0

Les paramètres qu'il utilise pour SourceGear DiffMerge sont incorrects. Les paramètres corrects peuvent être trouvés [ici] (http://stackoverflow.com/a/17523972/7850) –

12

La longue procédure est prévue dans a Rory Primrose blog posting

La réponse courte est la liste des arguments pour comparer est:

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

et la liste des arguments pour la fusion est:

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

Parfois Winmerge ne renvoie pas 0 et TFS pense que la fusion a été annulée. Vous devez utiliser le fichier batch d'emballage suivant pour la fusion:

@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 

Et puis vous définissez la liste des arguments à:

%6 %7 %1 %2 % 

sortie 0

0

Pour SourceGear DiffMerge, vous devez modifier la ligne de commande par défaut à:

C: \ Program Files (x86) \ SourceGear \ Vault Client \ sgdm.exe

J'ai trouvé les paramètres this thread sur les forums de support SourceGear, ainsi que sur le blog de James Manning mentionné par @TehOne, mais les arguments donnés sont incorrects et entraînent l'exécution automatique de la fusion en sens inverse, c'est-à-dire que l'ancien code écrase le nouveau code. Les arguments corrects sont:

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