Nguyen Thai Ngoc Duy [off-list ref] writes:
Then, yes, rebase should be updated to use worktree even if it's
outside cwd. I'm not sure how to do it properly in git-rebase.sh
though. The requirement "require_work_tree" can be loosen a bit.
require-work-tree traditionally meant "you must be inside the working
tree, you could be in a subdirectory of it", but as long as the command is
about the whole tree operation (which rebase is) and takes no pathname
relative to the $(cwd) as an argument (which rebase does not), there is no
strong reason why you should be _inside_ the working tree. For such
commands, require-work-tree should mean "you must have a working tree, and
make it known where it is to git", nothing more.