From: Daniel Barkalow Date: Tue, 26 Feb 2008 23:07:36 GMT Subject: Re: [PATCH] Fix premature free of ref_lists while writing temporary refs to file Message-ID: In-Reply-To: On Tue, 26 Feb 2008, Johannes Schindelin wrote: > Hi, > > On Tue, 26 Feb 2008, Johan Herland wrote: > > > We cannot call write_ref_sha1() from within a for_each_ref() callback, > > since it will free() the ref_list that the for_each_ref() is currently > > traversing. > > > > Therefore rewrite setup_tmp_ref() to not call write_ref_sha1(), as > > already hinted at in a comment. > > I guess the reason was to use a much of an API as possible. > > If you already avoid that, why not write into .git/packed-refs directly? Actually, it looks to me like the really right thing to do is tell for_each_ref() to also include these refs temporarily, and not actually write them to disk, read them back, and then delete them. -Daniel *This .sig left intentionally blank*