Re: fetching packs and storing them as packs
- From
- Eran Tromer <git2eran@tromer.org>
- Date
- Oct 26, 2006, 22:09 UTC
- Message-ID
- <45413209.2000905@tromer.org>
- In-Reply-To
- <Pine.LNX.4.64.0610261105200.12418@xanadu.home>
Hi,
On 2006-10-26 17:08, Nicolas Pitre wrote:
Show 11 quoted lines
> On Thu, 26 Oct 2006, Eran Tromer wrote: >> This creates a race condition w.r.t. "git repack -a -d", similar to the >> existing race condition between "git fetch --keep" and >> "git repack -a -d". There's a point in time where the new pack is stored >> but not yet referenced, and if "git repack -a -d" runs at that point it >> will eradicate the pack. When the heads are finally updated, you get a >> corrupted repository. > > And how is it different from receiving a pack through git-unpack-objects > where lots of loose objects are created, and git-repack -a -d removing > those unconnected loose objects before the heads are updated?
git-repack -a -d does not touch unconnected loose objects. It removes only unconnected packed objects.
Only git-prune removes unconnected loose objects, and that's documented as unsafe.