@b0rk This might be the first one of these I haven't said 100% to. I feel like I know what it means in practice, but is a "ref" just a commit hash, or does it also include stuff like HEAD~2 that can be parsed into one? What about the hashes git makes of individual files/paths, or submodule commits, are those refs? Is the physical file in .git/refs/heads a ref?