gitstatus icon indicating copy to clipboard operation
gitstatus copied to clipboard

fix tag detection in linked worktrees

Open druckdev opened this issue 6 months ago • 0 comments

Previously, tags were not detected when they were checked out in a separate linked worktree. This occurred because gitstatus tried to read from refs/tags relative to the worktree-specific .git directory. However, since tags are shared refs, refs/tags will never exist there, but rather in the global git-dir (see the "REFS" section in git-worktree(1)).

To fix this, remove the worktrees/* suffix from the repository path when needed.


To reproduce this issue:

$ git clone https://github.com/romkatv/gitstatus
$ cd gitstatus
$ worktree="$(mktemp -d)"
$ git worktree add "$worktree" v1.5.5
$ cd "$worktree"
$ typeset -m VCS_STATUS_TAG
VCS_STATUS_TAG=''
$ git describe --tags --exact-match
v1.5.5

druckdev avatar Aug 06 '25 12:08 druckdev