SIGN IN SIGN UP

fix(worktree): correct the rationale the removal probes carry

The join was justified with a project sitting at a filesystem root, but
that project cannot have a worktree at all: `basename` is empty there, so
the generated name starts with a dash and `git worktree add` reads it as
options. State what the join actually buys — the removal and its own
probe agreeing on one directory — and say plainly that it does not make a
relative folder path coherent, because the engine's gates still read that
path from the app's working directory.

Map `AlreadyExists` too, which POSIX allows `rmdir` to return for a
non-empty directory, so replacing `AppCommandError::io` costs only its
message. Stop the probe fixture from claiming a guarantee it cannot give
about repositories above the system temp directory.
X
xintaofei committed
3ed2897111aae35839a00fe5c0177cd583a744bd
Parent: bb51a25