rev-parse --is-bare-repository incorrectly outputs "false" when testing a bare repository with the work tree set. To reproduce: $ git init --bare testbare $ git --git-dir=testbare rev-parse --is-bare-repository true $ git --git-dir=testbare --work-tree=something rev-parse \ --is-bare-repository false $ GIT_WORK_TREE=something git --git-dir=testbare rev-parse \ --is-bare-repository false