Re: git pull for update of netdev fails.
- From
Linus Torvalds <torvalds@osdl.org>
- Date
- Sep 20, 2006, 16:38 UTC
- Message-ID
- <Pine.LNX.4.64.0609200934140.4388@g5.osdl.org>
- In-Reply-To
- <20060920162810.GB23260@spearce.org>
On Wed, 20 Sep 2006, Shawn Pearce wrote:
Show 6 quoted lines
> > > > A lot of people do things like "git repack -a -d" by hand, and we've tried > > to encourage people to do so in cron-jobs etc. We've even had patches > > floating around that do it automatically after a pull. > > Ouch. That's really bad.
Well, what did you think the "-d" stood for?
It stands for "delete old packs".
There are exactly two operations that delete git objects: "git prune" and "git repack -d". Nothing else should ever do it, but those two definitely do. They're designed to.
I wouldn't call it "really bad" - it's part of the design. It's only bad if you didn't realize what "-d" means.
Show 7 quoted lines
> I knew it but didn't realize it until just now. > > git repack -a -d > git branch -D foo > git repack -a -d > > and *poof* no foo.
Exactly.
I thought people realized this, but apparently sometimes it's just an intellectual understanding of what something does, without realizing what that thing actually _means_ in a deeper way.
Linus