Re: [PATCH] Dissociating a repository from its alternates
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Oct 23, 2007, 00:13 UTC
- Message-ID
- <Pine.LNX.4.64.0710230112131.25221@racer.site>
- In-Reply-To
- <20071022233050.GA18430@ginosko.ndrix.org>
Hi,
On Mon, 22 Oct 2007, Michael Hendricks wrote:
Show 24 quoted lines
> On Mon, Oct 22, 2007 at 08:05:58PM +0100, Johannes Schindelin wrote: > > On Mon, 22 Oct 2007, Michael Hendricks wrote: > > > Was such a script ever incorporated into Git? > > > > Not that I know of, but "git repack -a && rm > > .git/objects/info/alternates" should do what you want. You can even > > make a script of it, add some documentation and a test case, and earn > > git fame by posting a patch ;-) > > With 1.5.3.4, it doesn't appear to work: > > $ git clone -s git git2 > Initialized empty Git repository in /Users/michael/src/git2/.git/ > > $ cd git2 > > $ git repack -a && rm .git/objects/info/alternates > Generating pack... > Done counting 0 objects. > Nothing new to pack. > > $ git status > # On branch master > fatal: bad object HEAD
Indeed. Seems that somewhere along the line, repack learnt to imply "-l" by "-a" or something. Try this instead of "git repack -a":
git rev-parse --all | git pack-objects --revs .git/objects/pack/pack
(And make sure you read the relevant parts of the documentation to understand what you're doing ;-)
Hth, Dscho