Re: [BUG] git-new-workdir doesn't understand packed refs
- From
- Peter Baumann <waste.manager@gmx.de>
- Date
- Apr 18, 2007, 05:52 UTC
- Message-ID
- <20070418055215.GA32634@xp.machine.xx>
- In-Reply-To
- <Pine.LNX.4.64.0704172253140.14155@beast.quantumfyre.co.uk>
On Tue, Apr 17, 2007 at 10:55:17PM +0100, Julian Phillips wrote:
Show 8 quoted lines
> On Tue, 17 Apr 2007, Peter Baumann wrote: > > > running git-gc or git-gc --prune isn't save because e.g. all the tags > > are packed and .git/packed-refs isn't shared on the several workdirs. > > Do you mean that the link wasn't created? Or that the link was removed and > replaced with a file when you ran gc from a workdir? >
The problem is, when I created the new workdir, I don't have a file .git/packed-refs, so a new workdir was created with a dangling symlink, e.g. workdir/.git/packed-refs -> repo/.git/packed-refs (but the last one doesn't exist). As it seems, git gc removes the dangling symlink and replaces it with a file.
Steps to reproduce (written in this mail; after /usr/bin/script gave me an output whith color coded text *GRR* in ASCII squences):
mkdir a && cd a && git init echo 1 > file.txt git add file.txt git commit -m "file added" git tag v0 cd ..
git-new-workdir a b cd b && git-gc
Oh. Wait. Just forget that theorie about dangling symlink. git-gc replaces the symlink in a new workdir with a file. Just confirmed that.
So it isn't save to run git-gc in a workdir.
-Peter