threads / discuss / 41187

Worktree "gitdir" file being mangled after upgrade to 2.7.0

Subject: Worktree "gitdir" file being mangled after upgrade to 2.7.0

## tl;dr

6 messages between Jan 13, 2016 and Jan 15, 2016.

replies: 5people: 5as markdown or json

Erik Johnson· Jan 13, 2016, 23:47 UTC · lore

Since upgrading to 2.7.0 last week, eventually I'll get to a point when I run 'git worktree list' where several worktrees are incorrectly reported as pointing to my main git checkout. Further analysis of the files in $GIT_DIR/worktrees/worktree_name/ shows that the gitdir file for the worktrees which display incorrectly contains ".git" instead of what it should contain (i.e. "/path/to/worktree/.git".

This was reported a couple days ago on Github:
https://github.com/git/git-scm.com/issues/650

Since the audiences for the mailing list and Github don't overlap completely, I figured I'd report it here to get this issue in front of as many eyes as possible.

--
-Erik

"For me, it is far better to grasp the universe as it really is than to persist in delusion, however satisfying and reassuring." --Carl Sagan

Junio C Hamano· Jan 14, 2016, 02:36 UTC · re: Erik Johnson · lore

Re: Worktree "gitdir" file being mangled after upgrade to 2.7.0

Erik Johnson <palehose@gmail.com> writes:
Show 14 quoted lines
> Since upgrading to 2.7.0 last week, eventually I'll get to a point when
> I run 'git worktree list' where several worktrees are incorrectly
> reported as pointing to my main git checkout. Further analysis of the
> files in $GIT_DIR/worktrees/worktree_name/ shows that the gitdir file
> for the worktrees which display incorrectly contains ".git" instead of
> what it should contain (i.e. "/path/to/worktree/.git".
>
> This was reported a couple days ago on Github:
>
> https://github.com/git/git-scm.com/issues/650
>
> Since the audiences for the mailing list and Github don't overlap
> completely, I figured I'd report it here to get this issue in front of
> as many eyes as possible.
Thanks for relaying.  Duy, Michael, I think this is your area?
Duy Nguyen· Jan 14, 2016, 03:29 UTC · re: Junio C Hamano · lore

Re: Worktree "gitdir" file being mangled after upgrade to 2.7.0

On Thu, Jan 14, 2016 at 9:36 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> Erik Johnson <palehose@gmail.com> writes:
>
>> Since upgrading to 2.7.0 last week, eventually I'll get to a point when
>> I run 'git worktree list' where several worktrees are incorrectly
>> reported as pointing to my main git checkout. Further analysis of the
>> files in $GIT_DIR/worktrees/worktree_name/ shows that the gitdir file
>> for the worktrees which display incorrectly contains ".git" instead of
>> what it should contain (i.e. "/path/to/worktree/.git".
>>
>> This was reported a couple days ago on Github:
>>
>> https://github.com/git/git-scm.com/issues/650
>>
>> Since the audiences for the mailing list and Github don't overlap
>> completely, I figured I'd report it here to get this issue in front of
>> as many eyes as possible.
>
> Thanks for relaying.  Duy, Michael, I think this is your area?

The only place that a relative pat hcan be written is update_linked_girdir() unless i'm mistaken. That function is being deleted "soon" because it causes another problem

-- 
Duy
Mike Rappazzo· Jan 14, 2016, 13:58 UTC · re: Duy Nguyen · lore

Re: Worktree "gitdir" file being mangled after upgrade to 2.7.0

On Wed, Jan 13, 2016 at 10:29 PM, Duy Nguyen <pclouds@gmail.com> wrote:
Show 23 quoted lines
> On Thu, Jan 14, 2016 at 9:36 AM, Junio C Hamano <gitster@pobox.com> wrote:
>> Erik Johnson <palehose@gmail.com> writes:
>>
>>> Since upgrading to 2.7.0 last week, eventually I'll get to a point when
>>> I run 'git worktree list' where several worktrees are incorrectly
>>> reported as pointing to my main git checkout. Further analysis of the
>>> files in $GIT_DIR/worktrees/worktree_name/ shows that the gitdir file
>>> for the worktrees which display incorrectly contains ".git" instead of
>>> what it should contain (i.e. "/path/to/worktree/.git".
>>>
>>> This was reported a couple days ago on Github:
>>>
>>> https://github.com/git/git-scm.com/issues/650
>>>
>>> Since the audiences for the mailing list and Github don't overlap
>>> completely, I figured I'd report it here to get this issue in front of
>>> as many eyes as possible.
>>
>> Thanks for relaying.  Duy, Michael, I think this is your area?
>
> The only place that a relative path can be written is
> update_linked_girdir() unless i'm mistaken. That function is being
> deleted "soon" because it causes another problem

`git worktree list` command does not modify the worktree gitdir file, so this is only a symptom of the problem. If at all possible, we should move to get Duy's fix into the 2.7.1 release. This problem almost makes git worktree list useless.

> --
> Duy
Junio C Hamano· Jan 15, 2016, 17:52 UTC · re: Mike Rappazzo · lore

Re: Worktree "gitdir" file being mangled after upgrade to 2.7.0

Mike Rappazzo <rappazzo@gmail.com> writes:
Show 10 quoted lines
>>> Thanks for relaying.  Duy, Michael, I think this is your area?
>>
>> The only place that a relative path can be written is
>> update_linked_girdir() unless i'm mistaken. That function is being
>> deleted "soon" because it causes another problem
>
> `git worktree list` command does not modify the worktree gitdir file,
> so this is only a symptom of the problem.  If at all possible, we
> should move to get Duy's fix into the 2.7.1 release.  This problem
> almost makes git worktree list useless.
Yes, what's the doneness of that "being deleted 'soon'"?
Thanks.
Andreas Schwab· Jan 14, 2016, 18:36 UTC · re: Erik Johnson · lore

Re: Worktree "gitdir" file being mangled after upgrade to 2.7.0

Erik Johnson <palehose@gmail.com> writes:
Show 6 quoted lines
> Since upgrading to 2.7.0 last week, eventually I'll get to a point when
> I run 'git worktree list' where several worktrees are incorrectly
> reported as pointing to my main git checkout. Further analysis of the
> files in $GIT_DIR/worktrees/worktree_name/ shows that the gitdir file
> for the worktrees which display incorrectly contains ".git" instead of
> what it should contain (i.e. "/path/to/worktree/.git".
This always happens to me when I run "git rebase" in a worktree.
Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

← back to recent threads