From: Junio C Hamano Date: Wed, 30 Dec 2009 17:54:54 GMT Subject: Re: [PATCH] reset: unbreak hard resets with GIT_WORK_TREE Message-ID: <7v8wck2vpt.fsf@alter.siamese.dyndns.org> In-Reply-To: <20091230084702.GA19649@coredump.intra.peff.net> Jeff King writes: > Commit 952dfc6 tried to tighten the safety valves for doing > a "reset --hard" in a bare repository or outside the work > tree, but accidentally broke the case for GIT_WORK_TREE. > This patch unbreaks it. > > Most git commands which need a work tree simply use > NEED_WORK_TREE in git.c to die before they get to their > cmd_* function. Reset, however, only needs a work tree in > some cases, and so must handle the work tree itself. The > error that 952dfc6 made was to simply forbid certain > operations if the work tree was not set up; instead, we need > to do the same thing that NEED_WORK_TREE does, which is to > call setup_work_tree(). We no longer have to worry about dying > in the non-worktree case, as setup_work_tree handles that > for us. Sounds very sane to me. Thanks.