From: Robin Rosenberg Date: Sun, 08 Feb 2009 20:08:53 GMT Subject: Re: gc considered dangerous Message-ID: <200902082108.54048.robin.rosenberg.lists@dewire.com> In-Reply-To: <7vhc34y9za.fsf@gitster.siamese.dyndns.org> söndag 08 februari 2009 21:00:57 skrev Junio C Hamano: > Johannes Schindelin writes: > > > My preliminary guess is that this code in pack-write.c needs to use the > > lock file paradigm: > > > > if (!index_name) { > > [...] > > } else { > > unlink(index_name); > > fd = open(index_name, O_CREAT|O_EXCL|O_WRONLY, 0600); > > } > > Whoa. That particular code has been (and is still) correct. > > When repacking we should pack into a temporary pack and idx file and then > replace the real ones after both new pack and its idx are successfully > written, and I thought that is how we've been doing this all the time. > Maybe the caller has been broken at some point? Sigh... I intend to test something like this: