Frage

Ich habe ein anderes Quelle Steuerungstool verwenden und es mir erlaubt, einen „diff-Bericht“ zu erhalten: alle in eine Datei vorgenommenen Änderungen zwischen Version X und Version Y (einschließlich Linien hinzugefügt / entfernt zwischen jeder Version, die sein könnte viele Versionen) in einer Textdatei. Es war ziemlich praktisch für Situationen, in denen Sie ziemlich sicher sind, dass einige Code in der Datei verwendet werden soll, aber es ist jetzt nicht (praktisch für, wenn der BA sagt etwas hinzufügen und du denkst „nahm ich nicht, dass aus ?!“ ).

Der Vorteil hierbei ist, dass Sie eine Textdatei erhalten, die alle Änderungen an einem Code-Basis hat, dass Sie dann suchen können. Dies entspricht dabei ein auf jeder Version vergleichen (10-9, 9-8 usw.) und dann die Ergebnisse jeder in eine Textdatei zu vergleichen, zu speichern.

Ich sehe keine einfache Möglichkeit, dies in TFS zu tun. Gibt es ein Plugin / Powertool, das dies tut? Die Google gab mir nichts.

War es hilfreich?

Lösung 2

Pavel verlor wird mich in die richtige Richtung, aber das Skript ich war viel komplexer endete. Und noch könnte nicht richtig sein. Ich hatte für Dateinamen Änderungen zu berücksichtigen.

$snapin = get-pssnapin  | select-string "Microsoft.TeamFoundation.PowerShell"

if ($snapin -eq $null) { 
Write-Host "loading snap in..."     
     Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
  }

$fileName = $args[0]  Write-Host "// File name " $fileName 
$results = @(Get-TfsItemHistory $fileName )  | select changesetid, @{name="Path"; expression={$_.changes[0].item.serveritem}}

$i = 0

$cmdArray = @() 

do {   
   if ( $results[$i+1] -ne "" ) {   
   $cmdArray +=  "tf diff ""{0};{1}"" ""{2};{3}""  /format:unified" -f $results[$i].Path, $results[$i].ChangeSetId, $results[$i+1].Path, $results[$i+1].ChangeSetId     
   } ; 
    $i++ 
} until ($i -ge ($results.length - 1))

foreach ($cmd in $cmdArray) {   
   #Write-Host "// " $cmd   
   iex $cmd  }

Andere Tipps

Ich bin nicht bekannt, dass out-of-the-box-Lösung. Allerdings ist es nicht schwer, man selbst zu machen, wenn Sie TFS Power Toys und Powershell haben. Versuchen Sie, diese in Powershell:

Add-PSSnapin Microsoft.TeamFoundation.PowerShell

Get-TfsItemHistory foo.cs | foreach {
  tf diff "foo.cs;C$($_.ChangesetId)" `
          "foo.cs;C$($_.ChangesetId - 1)" `
          /format:unified
} 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top