function Compare-Repo {
Param(
[string] $firstlocation = "C:\sourcecodes\ProjectX_ver1",
[string] $secondLocation = "C:\sourcecodes\ProjectX_ver2",
[int] $takeFileNumber =10
)
$fileExtension = @(".cs", ".sln", ".user")
$appToCompare = "C:\Programs\KDiff3\kdiff3.exe"
#
$itemsFirstlocation = gci -recurse -Path $firstlocation |
where { ! $_.PSIsContainer -and $fileExtension -contains $_.Extension.ToLower()}
$itemsFirstlocation = $itemsFirstlocation |
select -first $takeFileNumber
$itemsFirstlocation | foreach {
$fileEnding = $_.FullName.Replace($firstlocation,"");
$firstItem = $_.FullName;
$secondItem = $secondLocation + $fileEnding ;
if(Test-Path($secondItem))
{
Write-Host "Comparing file $firstItem with $secondItem";
& $appToCompare $firstItem $secondItem
#Run compare app
}
}
}
Więcej o KDiff3 można poczytać w obszernej dokumentacji.
sobota, 5 stycznia 2013
Porównanie 2 repozytoriów
Czy natrafiłeś na taka sytuacje, ze musiałeś porównać 2 repozytoria??
Mi parę razy się tak zdarzyło, a dokładnie musiałem porównać 2 wersje tego samego projektu. Przygotowałem skrypt, który pobiera z pierwszego repozytorium wszystkie pliki .cs, .sln i .user i porównuje je z plikiem w drugim repozytorium. Jako aplikacja do porównania plików wybrałem KDiff3. Poniżej przedstawiam skrypt w PowerShell:
Subskrybuj:
Komentarze do posta (Atom)

Jaka jest przewaga użycia narzędzia Kdiff3 rodem z KDE nad Windowsowym COMP?
OdpowiedzUsuń