From: SZEDER Gábor Date: Thu, 21 Jan 2016 01:27:11 GMT Subject: Re: [PATCH 1/2] Add tests for git-sh-setup's require_clean_work_tree() Message-ID: <20160121022711.Horde.7Nh0N0fTAbd0JWIA99KKFQF@webmail.informatik.kit.edu> In-Reply-To: Quoting Junio C Hamano : >> +test_expect_success 'error on clean index and worktree while on >> orphan branch' ' >> + test_when_finished "git checkout master" && >> + git checkout --orphan orphan && >> + git reset --hard && >> + test_must_fail run_require_clean_work_tree >> +' > > The title is wrong. Immediately after creating and getting on an > orphan branch, you have stuff in the index that is not committed to > the branch, so your index cannot be clean by definition. The index contains the file 'file', so it's not clean indeed. > The > contents of the working tree may or may not be clean immediately > after getting on a new orphan branch, but you are doing "reset > --hard" to make the index and the working tree agree, ... and match HEAD, which in this case means both the index and the worktree become empty. 'git rm -r .' would have made the intent clearer. Or 'git init emptyrepo'. > so this is > testing the "clean working tree" case, I think. So the question is, before we go any further: are an empty index and empty worktree clean when HEAD doesn't point to a commit? (either after the command sequence in the above test, or right after 'git init'). I do think they are clean. Gábor