Try resolve git branches beginning with '@' before replacing with symbolic full path #66097
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Try naiive rev-parse for branches beginning with @ to see if they resolve, before replacing with symbolic full name version.
This PR is to resolve #65438. Commit 2c0167e introduced a change where the git repository getBranch function would eagerly check for branches beginning with '@' and replace the branch name with the resolved symbolic full name, which breaks the later branch diffing logic, causing such branches to appear as having no upstream branch, and so the git statusbar would show the publish button, even though the upstream may already exist.
This PR allows the code to try and resolve the branch name as-is initially, and if this fails, and the branch begins with an '@', it then replaces the branch name with the symbolic full name and proceeds. This should fix the regression, making sure legitimate '@' branches work as expected, but maintaining the fix which the commit was presumably adding.
I don't know what exactly the '@ name syntax' referred to in the commit message is, and so I have no way of testing, but I have verified that my change addresses the reported issue of branches beginning with '@' not working.