Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen
X
Sven Hubert

Sven Hubert

Alternative Diff/Merge-Tools für den Team Explorer

Mittwoch, 30. September 2009

Vor allem frühere Nutzer von Visual SourceSafe arbeiten im Team Foundation Server immernoch mit exklusiven Checkouts. Das bedeutet, dass ständig die für eine dringende Änderung zu bearbeitende Datei von einem anderen Benutzer blockiert ist. Viele Nutzer haben mit dem Merge von konkurrierend ausgecheckten Dateien schlechte Erfahrungen gemacht. Teilweise mag das am Vergleichs- und Mergewerkzeug liegen, welches der Team Explorer mitbringt. Was viele nicht wissen, Sie können diese Werkzeuge sehr einfach ersetzen und Ihren eigenen Vorlieben entsprechend anpassen. Im folgenden sollen die Alternativen aufgelistet werden.

Im Visual Studio 2008 finden Sie die Einstellungen unter Tools –> Options –> Source Control –> Visual Studio Team Foundation Server. Über einen Klick auf den Button “Configure User Tools…” können Sie für das Vergleichen und Mergen je nach Dateityp verschiedene Programme hinterlegen. So z.B. meinen persönlichen Favorit von SourceGear:

SNAGHTML76a37

image

SNAGHTML8e0fb

 

Die verschiedenen Parameter haben folgende Bedeutung:

  • %1 = Original file (in diff, the pre-changes file, in merge, the "server" or "theirs" file, the file that is the base file after "their" changes were applied)
  • %2 = Modified file (in diff, the post-changes file, in merge the "yours" file – the base file with "your" changes applied)
  • %3 = Base file (in the 3-way merge operation, the file which both "theirs" and "yours" are derived from – the common ancestor.  This doesn’t mean it’s the version the changes were based from, since this may be a cherry-pick merge)
  • %4 = Merged file (The output file for the merge operation – the filename that the merge tool should write to)
  • %5 = Diff options (any additional command-line options you want to pass to your diff tool – this comes into play only when using "tf diff /options" from the command-line)
  • %6 = Original file label (The label for the %1 file)
  • %7 = Modified file label (The label for the %2 file)
  • %8 = Base file label (The label for the %3 file)
  • %9 = Merged file label (The label for the %4 file)

Hier eine Auswahl gängiger Werkzeuge zum Vergleichen und Mergen (Quelle: http://blogs.msdn.com/jmanning/articles/535573.aspx):

Compare tools

Product Command Arguments
TFS default diffmerge.exe %1 %2 %6 %7 %5 /ignorespace
WinDiff windiff.exe %1 %2
DiffDoc (for Word files) DiffDoc.exe /M%1 /S%2
WinMerge winmerge.exe /ub /dl %6 /dr %7 %1 %2
Beyond Compare 2 bc2.exe %1 %2 /title1=%6 /title2=%7
Beyond Compare 3 BComp.exe %1 %2 /title1=%6 /title2=%7
Araxis compare.exe /wait /2 /title1:%6 /title2:%7 %1 %2
Compare It! Wincmp3.exe %1 /=%6 %2 /=%7
SourceGear DiffMerge DiffMerge.exe /title1=%6 /title2=%7 %1 %2
KDiff3 kdiff3.exe %1 –fname %6 %2 –fname %7
TortoiseMerge TortoiseMerge.exe /base:%1 /mine:%2 /basename:%6 /minename:%7
Visual SlickEdit win\vsdiff.exe %1 %2

Merge tools

Product Command Arguments
TFS default diffmerge.exe /merge %1 %2 %3 %4 %6 %7
KDiff3 kdiff3.exe %3 –fname %8 %2 –fname %7 %1 –fname %6 -o %4
Visual SourceSafe ssexp.exe /merge %1 %2 %3 %4 %6 %7
Araxis compare.exe /wait /swap /a3 /3 /title1:%6 /title2:%7 /title3:%8 %1 %2 %3 %4
Beyond Compare 2 BC2.exe %1 %2 /savetarget=%4 /title1=%6 /title2=%7
Beyond Compare 3 BComp.exe %1 %2 %3 %4 /title1=%6 /title2=%7 /title3=%8 /title4=%9
Guiffy guiffy.exe -s -h1%6 -h2%7 -hm%9 %1 %2 %3 %4
Ellie Computing guimerge.exe –mode=merge3 %3 %1 %2 –to=%4 –title0=%8 –title1=%6 –title2=%7 –to-title=%9
SourceGear DiffMerge DiffMerge.exe /title1=%6 /title2=%8 /title3=%7 /result=%4 %1 %3 %2
WinMerge (2-way merge) winmerge.exe /ub /dl %6 /dr %7 %1 %2 %4
TortoiseMerge TortoiseMerge.exe /base:%3 /mine:%2 /theirs:%1 /basename:%8 /minename:%7 /theirsname:%6 /merged:%4 /mergedname:%9
Visual SlickEdit win\vsmerge.exe %3 %1 %2 %4

Verwandte Artikel:

Benötigen Sie Unterstützung bei der Software-Entwicklung und Architektur von .NET basierten Lösungen oder bei Einführung und Anpassung von Visual Studio / Microsoft Test Manager / Team Foundation Server?

Wir stehen Ihnen unter info(at)aitgmbh.de gerne zur Verfügung.

Tags: ,

Hinterlasse eine Antwort