From: hi-angel@yandex.ru Date: Mon, 18 Feb 2019 15:09:06 GMT Subject: Re: git gc fails with "unable to resolve reference" for worktree Message-ID: <1550502546.2865.1@yandex.ru> In-Reply-To: On Пн, Feb 18, 2019 at 6:02 PM, Duy Nguyen wrote: > On Mon, Feb 18, 2019 at 9:44 PM wrote: >> >> # Steps to reproduce (in terms of terminal commands) >> >> $ mkdir foo >> $ cd foo >> $ git init >> Initialized empty Git repository in /tmp/foo/.git/ >> $ echo hello > testfile >> $ git add testfile && git commit -m "my commit1" >> [master (root-commit) d5f0b47] my commit1 >> 1 file changed, 1 insertion(+) >> create mode 100644 testfile >> $ git checkout -b bar >> Switched to a new branch 'bar' >> $ git worktree add ../bar\ \(worktree\) master >> Preparing worktree (checking out 'master') >> HEAD is now at d5f0b47 my commit1 >> $ git gc >> error: cannot lock ref 'worktrees/bar (worktree)/HEAD': unable >> to >> resolve reference 'worktrees/bar (worktree)/HEAD': Invalid argument > > Thanks for reporting. This is not a valid reference and causes the > problem. The worktree's name has to sanitized. I'll fix it tomorrow. >> You mean, you want to prohibit such directory names as a worktree? But it's a proper directory naming, can perhaps git do the sanitizing transparently for end-user?