The Git ref resolver uses git cat-file --batch-check, but this doesn't let us distinguish between branches (like "master") and commits (like "HEAD^^^").
Since we now filter the results of diffusion.resolveref by TYPE_BRANCH, we may fail to resolve branch refs ("master" -> "origin/master"), particularly for old non-bare repositories (which will always miss the cache, given how the code works today).