From: Junio C Hamano Date: Mon, 16 Apr 2007 00:11:19 GMT Subject: Re: Reverting the whole index-base series Message-ID: <7v8xct18m0.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Linus Torvalds writes: > ... That said, maybe we could make it an option. There's really a few > different things we could do: > > (a) what we do now - the working tree and index is totally unaffected > (b) do a "git-read-tree -m old new" and if that fails, fail the push. > This would at least ensure the *index* matches > (b') same as (b), but with "-u" to actually check it out > (c) do a "git-read-tree --reset new" > (c') same as (c), but with "-u" > > and we could just keep the *default* the same, but allow the receiving > side to say what it wants to happen. Yeah, throw another one in: (d) what we do now, but detach HEAD. > So if somebody does > > git push remote:my-git-tree/.git/ > > then we'd *always* do (a), since we pushed into the "bare" part, but if > somebody did > > git push remote:my-git-tree > > and the receiver ended up doing a "cd .git", it would remember what the > checked-out tree was and update that one (and no other). I suspect that this would make the pending "GIT_WORK_TREE" series more interesting.