Re: Spam: Re: git branch performance problem?
- From
Mike Ralphson <mike.ralphson@gmail.com>
- Date
- Oct 11, 2007, 09:41 UTC
- Message-ID
- <e2b179460710110241i445bc61ep8ae60e421c19c0f0@mail.gmail.com>
- In-Reply-To
- <470D585D.1030808@nrlssc.navy.mil>
On 10/10/07, Brandon Casey <casey@nrlssc.navy.mil> wrote:
Show 9 quoted lines
> No, this is not the case, unless something has changed very recently > in git-gc or git-repack. Even git-gc with no arguments is unsafe if > the repository being gc'ed is listed in another's alternates. > > git-gc calls repack with -a and -d. which causes a new pack to be > created which only contains the objects required by the local repository. > The other packs are then deleted. Objects contained in those packs and > required by a "sharing" repository (one using the alternates mechanism) > will be deleted if the local repository no longer references them.
It's not something I've really looked into, but there seems to be a reflogs mechanism which can temporarily pin an otherwise unreferenced object so it doesn't get deleted. Would it be possible to populate the remote's view of referenced objects into this, at the point of clone, push or pull, which would seem to be the points at which this might be changing.
Obviously this is of no use if you're 'anonymously' poncing off a third repo to save clone time, but if you're in control of both repo's it might be useful.
Mike