diff --git a/eng/common/scripts/git-branch-push.ps1 b/eng/common/scripts/git-branch-push.ps1 index 333ed0a62..bc594a7e4 100644 --- a/eng/common/scripts/git-branch-push.ps1 +++ b/eng/common/scripts/git-branch-push.ps1 @@ -27,8 +27,13 @@ param( [Parameter(Mandatory = $false)] [string] $PushArgs = "", + [string] $RemoteName = "azure-sdk-fork", + + [Parameter(Mandatory = $false)] + [boolean] $SkipCommit = $false, + [Parameter(Mandatory = $false)] - [boolean] $SkipCommit = $false + [boolean] $AmendCommit = $false ) # This is necessay because of the janky git command output writing to stderr. @@ -36,16 +41,19 @@ param( # would fail the first time git wrote command output. $ErrorActionPreference = "Continue" -Write-Host "git remote add azure-sdk-fork $GitUrl" -git remote add azure-sdk-fork $GitUrl -if ($LASTEXITCODE -ne 0) +if (!(git remote | ? {$_ -eq $RemoteName})) { - Write-Error "Unable to add remote LASTEXITCODE=$($LASTEXITCODE), see command output above." - exit $LASTEXITCODE + Write-Host "git remote add $RemoteName $GitUrl" + git remote add $RemoteName $GitUrl + if ($LASTEXITCODE -ne 0) + { + Write-Error "Unable to add remote LASTEXITCODE=$($LASTEXITCODE), see command output above." + exit $LASTEXITCODE + } } -Write-Host "git fetch azure-sdk-fork" -git fetch azure-sdk-fork +Write-Host "git fetch $RemoteName" +git fetch $RemoteName if ($LASTEXITCODE -ne 0) { Write-Error "Unable to fetch remote LASTEXITCODE=$($LASTEXITCODE), see command output above." @@ -61,8 +69,14 @@ if ($LASTEXITCODE -ne 0) } if (!$SkipCommit) { - Write-Host "git -c user.name=`"azure-sdk`" -c user.email=`"azuresdk@microsoft.com`" commit -am `"$($CommitMsg)`"" - git -c user.name="azure-sdk" -c user.email="azuresdk@microsoft.com" commit -am "$($CommitMsg)" + if ($AmendCommit) { + Write-Host "git -c user.name=`"azure-sdk`" -c user.email=`"azuresdk@microsoft.com`" commit -am `"$($CommitMsg)`"" + git -c user.name="azure-sdk" -c user.email="azuresdk@microsoft.com" commit --amend -am "$($CommitMsg)" + } + else { + Write-Host "git -c user.name=`"azure-sdk`" -c user.email=`"azuresdk@microsoft.com`" commit --amend -am `"$($CommitMsg)`"" + git -c user.name="azure-sdk" -c user.email="azuresdk@microsoft.com" commit -am "$($CommitMsg)" + } if ($LASTEXITCODE -ne 0) { Write-Error "Unable to add files and create commit LASTEXITCODE=$($LASTEXITCODE), see command output above." @@ -84,15 +98,15 @@ $tryNumber = 0 do { $needsRetry = $false - Write-Host "git push azure-sdk-fork $PRBranchName $PushArgs" - git push azure-sdk-fork $PRBranchName $PushArgs + Write-Host "git push $RemoteName $PRBranchName $PushArgs" + git push $RemoteName $PRBranchName $PushArgs $tryNumber++ if ($LASTEXITCODE -ne 0) { $needsRetry = $true Write-Host "Git push failed with LASTEXITCODE=$($LASTEXITCODE) Need to fetch and rebase: attempt number=$($tryNumber)" - Write-Host "git fetch azure-sdk-fork" - git fetch azure-sdk-fork + Write-Host "git fetch $RemoteName" + git fetch $RemoteName if ($LASTEXITCODE -ne 0) { Write-Error "Unable to fetch remote LASTEXITCODE=$($LASTEXITCODE), see command output above." @@ -110,8 +124,8 @@ do continue } - Write-Host "git reset --hard azure-sdk-fork/${PRBranchName}" - git reset --hard azure-sdk-fork/${PRBranchName} + Write-Host "git reset --hard $RemoteName/${PRBranchName}" + git reset --hard $RemoteName/${PRBranchName} if ($LASTEXITCODE -ne 0) { Write-Error "Unable to hard reset branch LASTEXITCODE=$($LASTEXITCODE), see command output above." @@ -127,6 +141,7 @@ do exit $LASTEXITCODE } + Write-Host "git add -A" git add -A if ($LASTEXITCODE -ne 0) diff --git a/eng/common/scripts/modules/ChangeLog-Operations.psm1 b/eng/common/scripts/modules/ChangeLog-Operations.psm1 index ca432870b..cba8a2631 100644 --- a/eng/common/scripts/modules/ChangeLog-Operations.psm1 +++ b/eng/common/scripts/modules/ChangeLog-Operations.psm1 @@ -1,6 +1,5 @@ $RELEASE_TITLE_REGEX = "(?^\#+.*(?\b\d+\.\d+\.\d+([^0-9\s][^\s:]+)?)(\s(?\(Unreleased\)|\(\d{4}-\d{2}-\d{2}\)))?)" -# Returns a Collection of changeLogEntry object containing changelog info for all version present in the gived CHANGELOG function Get-ChangeLogEntries { param ( [Parameter(Mandatory = $true)]