On Thu, Nov 30, 2023 at 12:24:04PM -0800, Stan Hu wrote: > In contrib/completion/git-completion.bash, there are a bunch of > instances where we read special refs like HEAD, MERGE_HEAD, > REVERT_HEAD, and others via the filesystem. However, the upcoming > reftable refs backend won't use '.git/HEAD' at all but instead will > write an invalid refname as placeholder for backwards compatibility, > which will break the git-completion script. > > Update the '__git_ref_exists' function to: > > 1. Recognize the placeholder '.git/HEAD' written by the reftable > backend (its content is specified in the reftable specs). > 2. If reftable is in use, use 'git rev-parse' to determine whether the > given ref exists. > 3. Otherwise, continue to use 'test -f' to check for the ref's filename. Nit, not worth a reroll: you already document this in the code, but I think it could help to also briefly explain why we're going through all of these hoops here instead of just using git-rev-parse(1) everywhere in the commit message. Patrick
Attachment:
signature.asc
Description: PGP signature