"Burton, Ross" [off-list ref] writes:
Why does git-bisect need to be ran from the top level of the working
tree? It sources git-sh-setup.sh which sets GIT_DIR, which
git-bisect.sh then appears to consistently use. Is there a reason for
needing to be at the top-level, or is this an old and redundant
message?
A wild guess.
Imagine if you start from a subdirectory foo/ but the directory did
not exist in the older part of the history of the project. When
bisect needs to check out a revision that was older than the first
revision that introduced that subdirectory, what should happen?
Worse yet, if "foo" was a file in the older part of the history,
what should happen?