From: Junio C Hamano Date: Thu, 14 May 2015 19:19:25 GMT Subject: Re: Problem with rerere forget Message-ID: In-Reply-To: <20150514191637.GA9329@peff.net> Jeff King writes: > On Thu, May 14, 2015 at 11:49:12AM -0700, Junio C Hamano wrote: > >> Alex Coppens writes: >> >> > git rerere forget path_to_file/file.js >> > >> > fatal: BUG: attempt to commit unlocked object >> >> That comes from commit_lock_file(); I think rerere.c:write_rr() >> has a call to that function and I suspect that is the call that is >> giving the above message. >> >> Is there any other process that is mucking with your .git/index file >> while you are running the command? > > This seems much easier to reproduce: > > $ git init -q > $ git rerere forget foo > fatal: BUG: attempt to commit unlocked object > > It looks like we need to pay more attention to the return value of > setup_rerere, which is what is supposed to take the lock. Good spotting. The normal rerere does check, but rerere-forget codepath seems to forget it.