steps:
  - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
    - pwsh: |
        Set-PsDebug -Trace 1
        # Find the default branch of the repo
        $defaultBranch = (git remote show origin | Out-String) -replace "(?ms).*HEAD branch: (\w+).*", '$1'
        $targetBranch = "$(System.PullRequest.TargetBranch)" -replace "refs/heads/"

        Write-Host "Default Branch: ${defaultBranch}"

        if ((!"$(System.PullRequest.SourceBranch)".StartsWith("sync-eng/common")) -and $targetBranch -eq $defaultBranch)
        {

          $filesInCommonDir = git diff "origin/${targetBranch}" HEAD --name-only -- 'eng/common/*'

          if (($LASTEXITCODE -eq 0) -and ($filesInCommonDir.Count -gt 0))
          {
            Write-Host "##vso[task.LogIssue type=error;]Changes to files under 'eng/common' directory should not be made in this Repo`n${filesInCommonDir}"
            Write-Host "##vso[task.LogIssue type=error;]Please follow workflow at https://github.com/Azure/azure-sdk-tools/blob/main/doc/common/common_engsys.md"
            exit 1
          }
        }
      displayName: Prevent changes to eng/common outside of azure-sdk-tools repo
      condition: and(succeeded(), ne(variables['Skip.EngCommonWorkflowEnforcer'], 'true'))
