From: Jeff King Date: Mon, 31 Dec 2007 06:47:42 GMT Subject: Re: [bug] Working files created in bare repository when pushing to a rewound bare repository Message-ID: <20071231064741.GA4250@coredump.intra.peff.net> In-Reply-To: <46dff0320712302242m34b5267dlb3f26488293d5d51@mail.gmail.com> On Mon, Dec 31, 2007 at 02:42:42PM +0800, Ping Yin wrote: > Following scripts can reproduce the problem: in the final line, > foo.txt is generated in bare foo.git No, your script is wrong. > # create bare foo.git and its clone foo > mkdir foo > cd foo && echo foo>foo.txt && > git init && git add . && git commit -m 'create project foo' && cd .. > cd foo && echo foo1>foo.txt && git commit -a -m "update foo.txt" && cd .. > git clone --bare foo foo.git && rm -rf foo > git clone foo.git foo > > # reset bare and then push > cd foo.git && git reset --hard HEAD^ && cd .. Try looking in foo.git after this step. The "--hard" to git-reset is creating the file foo.txt. --hard makes no sense in a bare repository (I thought we were disallowing it, but apparently not). -Peff