• 
      

    Fix git-p4 detection after git gc

    Review Request #12257 — Created April 25, 2022 and submitted — Latest diff uploaded

    Information

    RBTools
    master

    Reviewers

    The detection of git-p4 repositories is based on the presence of the
    `remotes/p4/master` file. Sometimes after a `git gc` this physical file
    on the filesystem can be removed by git although the ref `p4/master`
    still exists (and it is of course, stil a git-p4 repo). The result is
    incomprehehsible backtraces and users are confused why their repo
    suddently stopped working.
    
    The solution is to use `git show-ref` instead. Note this is still not
    bulletproof as in theory the git-p4 ref could be anything, but this is
    an improvement on status quo.

    in a git-p4 repo that has been around for a long time and had many commits etc, git gc. (this often happens unexpectedly/automatically). Observe that .git/refs/remotes/p4/master does not exist. rbt post from that repo and see that it works (PASS)> previously, and obscure stacktrace was printed (becauae repo detection failed to correctly identify it as git-p4).

    Commits

    Files