Re: git gc fails with "unable to resolve reference" for worktree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 18, 2019 at 10:09 PM <hi-angel@xxxxxxxxx> wrote:
>
>
>
> On Пн, Feb 18, 2019 at 6:02 PM, Duy Nguyen <pclouds@xxxxxxxxx> wrote:
> > On Mon, Feb 18, 2019 at 9:44 PM <hi-angel@xxxxxxxxx> 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?

No, not inhibiting. When you do "git add ../(abc)" then the internal
name could be simply "abc" or something like that instead of "(abc)"
which is invalid to reflog and other commands. The worktree's location
is still '(abc)'. There's also a work-in-progress option to let the
user control this worktree name directly.
-- 
Duy





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux