"Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> > > This is consistent with the definition of REF_TYPE_PSEUDOREF > (uppercase in the root ref namespace). I wonder if some special casing we saw for "HEAD" in 1/2 (e.g. we no longer do this to pseudorefs in this codepath but HEAD is different and will continue to be dealt with in the codepath) needs adjustment after this change? HEAD still needs to be able to have a different value (either detached or pointing to another ref) per worktree, but it is unclear where that knowledge now resides in the new code. Are we declaring that all pseudorefs are per worktree (which I think is not wrong)? > Signed-off-by: Han-Wen Nienhuys <hanwen@xxxxxxxxxx> > --- > refs.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/refs.c b/refs.c > index a2fd42364f..265767a234 100644 > --- a/refs.c > +++ b/refs.c > @@ -676,10 +676,9 @@ int dwim_log(const char *str, int len, struct object_id *oid, char **log) > > static int is_per_worktree_ref(const char *refname) > { > - return !strcmp(refname, "HEAD") || > - starts_with(refname, "refs/worktree/") || > - starts_with(refname, "refs/bisect/") || > - starts_with(refname, "refs/rewritten/"); > + return starts_with(refname, "refs/worktree/") || > + starts_with(refname, "refs/bisect/") || > + starts_with(refname, "refs/rewritten/"); > } > > static int is_pseudoref_syntax(const char *refname)