On Fri, Oct 25, 2024 at 10:29:37PM +0000, Caleb White wrote: > This patch introduces the `--[no-]relative-paths` CLI option for > `git worktree {add, move, repair}` commands, as well as the > `worktree.useRelativePaths` configuration setting. When enabled, > these options allow worktrees to be linked using relative paths, > enhancing portability across environments where absolute paths > may differ (e.g., containerized setups, shared network drives). > > Using the `--relative-paths` option with `worktree {move, repair}` > will convert absolute paths to relative ones, while `--no-relative-paths` > does the reverse. For cases where users want consistency in path > handling, the config option `worktree.useRelativePaths` provides > a persistent setting. > > A new helper function, `write_worktree_linking_files()`, centralizes > the logic for computing and writing either relative or absolute > paths, based on the provided configuration. This function accepts > `strbuf` pointers to both the worktree’s `.git` link and the > repository’s `gitdir`, and then writes the appropriate path to each. Looking at the patch below, it is quite large, and I wonder if it would benefit from being split into smaller pieces. Perhaps factoring out write_worktree_linking_files() in a separate patch would be a good start here? Thanks, Taylor