Re: [PATCH] Fix premature free of ref_lists while writing temporary refs to file
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Feb 26, 2008, 23:07 UTC
- Message-ID
- <alpine.LNX.1.00.0802261752160.19665@iabervon.org>
- In-Reply-To
- <alpine.LSU.1.00.0802261542080.22527@racer.site>
On Tue, 26 Feb 2008, Johannes Schindelin wrote:
Show 14 quoted lines
> 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*