Re: "git worktree repair" modifies the wrong repository

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

 



Sorry, I missed this reply.

On 24/9/24 04:52, Eric Sunshine wrote:
[1]: The discussion begins at the "Also Eric" paragraph of this email
and continues in emails following it:
https://lore.kernel.org/git/CACsJy8CXEKG+WNdSPOWF7JDzPXidSRWZZ5zkdMW3N3Dg8SGW_Q@xxxxxxxxxxxxxx/

Yes, Duh's comments pretty much sums it up.

This intuition perhaps arises from your background with "hg", but I
have not formed any such intuition.

Not only from hg. You can freely move the parent directory of all CVS systems I'm aware of - hg, svn, cvs, rcs, sccs and yes git too. It only breaks when you add worktrees to git.

That's a very restrictive and limiting organization. As I understand
it, one of the design goals of Git's linked worktrees was to allow
worktrees to be placed anywhere, including on removable media or
not-always-mounted network drives. (Yes, you may be able to do
something similar with "hg" and symbolic links, but that doesn't play
well with Windows users, at least not in the era when Git's worktree
support was implemented.)

Yes, it is far more restrictive than git worktrees are now. It simplifies the users the mental model of what is going on, but that simplification comes at a cost. I only mentioned it because relative paths in worktrees would allow you to pretend it works that way.

Can you provide more details about this "mangling"? Although the
use-case you describe was not directly considered in the initial
design, worktrees hanging off a bare repository became an
explicitly-supported use-case not long after worktrees were
introduced. So, it should work properly and we know that people use
worktrees this way, but we haven't had any reports of mangling in this
scenario.

Phillip's reply was spot on: https://lore.kernel.org/git/87afa860-52f4-414a-82da-09e7eeac1301@xxxxxxxxx/

By the way, have you seen the patch recently posted[3] to explicitly
support relative paths for worktrees?

[3]: https://lore.kernel.org/git/pull.1783.git.git.1726880551891.gitgitgadget@xxxxxxxxx/

Ahh, now I see why using both is attractive





[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