Re: [PATCH 2/2] worktree: add `relativeWorktrees` extension
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Oct 28, 2024, 00:20 UTC
- Message-ID
- <Zx7YxLPItxvFJK62@nand.local>
- In-Reply-To
- <20241025-wt_relative_options-v1-2-c3005df76bf9@pm.me>
On Fri, Oct 25, 2024 at 10:29:47PM +0000, Caleb White wrote:
Show 5 quoted lines
> A new extension, `relativeWorktrees`, is added to indicate that at least > one worktree in the repository has been linked with relative paths. This > extension is automatically set when a worktree is created or repaired > using the `--relative-paths` option, or when the > `worktree.useRelativePaths` config is set to `true`.
This approach feels like a very heavy hammer. I wonder if writing worktrees with relative paths by default was too aggressive of a step, and if we should instead make the new behavior opt-in rather than opt-out.
Saying that new worktrees are written with relative paths, and that creating a worktree with a new version of Git breaks reading the repository on older versions feels very unsatisfying to me.
> The `relativeWorktrees` extension ensures older Git versions do not > attempt to automatically prune worktrees with relative paths, as they > would not not recognize the paths as being valid.
This is the piece of information that I was missing in the earlier round when I merged that down. I think we need to take a step back and think about how to make this change safely in a way that doesn't break compatibility with older versions of Git.
Thanks, Taylor