Additions/Upgrade-AdditionsInFolder.ps1

function Upgrade-AdditionsInFolder
{
    Param(
        [Parameter(Mandatory=$true)]
        [string]$TargetPath,
        [Parameter(Mandatory=$true)]
        [string[]]$AdditionsBranches
    )    
    
    $ModifiedPath = Create-TempDirectory

    foreach ($AdditionBranch in $AdditionsBranches)
    {
        $ResultPath = Create-TempDirectory
        Upgrade-AdditionInBranch -AdditionPath $AdditionBranch -TargetBranch $TargetPath -ResultPath $ResultPath | Out-Null
        $ResultObjects = Get-ChildItem $ResultPath -File

        foreach ($ResultObject in $ResultObjects)
        {
            [IO.File]::Copy($ResultObject.FullName,(Join-Path $TargetPath $ResultObject.Name),$true)
            [IO.File]::Copy($ResultObject.FullName,(Join-Path $ModifiedPath $ResultObject.Name),$true)
        }

        Remove-Item $ResultPath -Force -Recurse
    }

    $ModifiedPath
}

Export-ModuleMember -Function Upgrade-AdditionsInFolder