Git/Create-GitRepoDeltaBetweenCommits.ps1
function Create-GitRepoDeltaBetweenCommits { Param( [Parameter(Mandatory=$false)] [string]$FromCommit, [Parameter(Mandatory=$false)] [string]$ToCommit, [Parameter(Mandatory=$false)] [string]$DeltaPath ) if ($DeltaPath -eq '') { $DeltaPath = Create-TempDirectory } if ($FromCommit -eq '') { $FromCommit = Select-Commit } if ($ToCommit -eq '') { $ToCommit = Select-Commit } if ($FromCommit -eq '' -Or $ToCommit -eq '') { Write-Error "Parameter not set" } Write-Host -ForegroundColor Green "Retrieving differences between $FromCommit and $ToCommit" $FromDiffObjects = git diff $FromCommit $ToCommit --name-only --no-renames --diff-filter=DM -name '*.TXT' $ToDiffObjects = git diff $FromCommit $ToCommit --name-only --no-renames --diff-filter=AM -name '*.TXT' $FromObjectsFolder = Create-TempDirectory $ToObjectsFolder = Create-TempDirectory foreach($FromDiffObject in $FromDiffObjects) { git checkout $FromCommit $FromDiffObject Copy-Item $FromDiffObject $FromObjectsFolder } foreach($ToDiffObject in $ToDiffObjects) { git checkout $ToCommit $ToDiffObject Copy-Item $ToDiffObject $ToObjectsFolder } Compare-NAVApplicationObject -OriginalPath $FromObjectsFolder -ModifiedPath $ToObjectsFolder -DeltaPath $DeltaPath Write-Host "Result: $DeltaPath" git reset --hard HEAD -q } Export-ModuleMember -Function Create-GitRepoDeltaBetweenCommits |