SIGN IN SIGN UP

fix(worktree): refuse a removal path that resolves two ways

Two inputs could still send git somewhere the filesystem half was not
looking. A Windows drive-relative path makes `join` drop `repo_path`
entirely, leaving `C:trees` for a per-drive current directory the app and
git do not share. And a path the OS holds as non-UTF-8 came out of
`to_string_lossy` as a DIFFERENT absolute path, which git would have gone
and deleted while every removal here still used the original bytes.

Both now stop the removal rather than guess at it. Handing git a
directory other than the one we probed is the single thing this
resolution exists to prevent, so it cannot be the thing it falls back to.
X
xintaofei committed
fb7947f6cabeedb42f32e8f9823b474b76a6f1ef
Parent: 2870969