Try resolve git branches beginning with '@' before replacing with symbolic full path #66097
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.
Yeah I don't remember either... too bad I didn't leave enough comments in there or in the commit. I like this approach, thanks!