On Thu, 6 Sep 2007, Junio C Hamano wrote:I think "repack -d -l" should be ok from a safety perspective, but I'd also like to say that always running it incrementally is going to largely suck after a time. IOW, if you get lots of small incrmental packs, after a while you really *do* need to do "git gc" to get the real pack generated. In the case I saw, James really had hundreds of pack-files. That makes all our object lookups suck. Yes, not having loose objects at all is a big deal too, and yes, we try to start from the last pack-file we found (for the locality that we hope is there), but it's still pretty bad from a cache usage standpoint, and when we create a new object, we'll first search (in vain) in all the hundreds of pack-files. So would "git gc --auto" have helped James? I'm sure it would have. But he already had lots of pack-files from doing "git fetch/pull", and while doing the "git gc --auto" will likely *delay* the point where you need to do a full repack, it doesn't make it go away. We still need to tell people to do a full git gc at some point, or do it for them. And the longer you delay doing it, the more expensive it's going to get to do and/or the worse the final packing is going to be (especially if it ends up reusing non-optimal packing decisions from the smaller packs). So I think the --auto stuff is still worth it, but it's really just pushing the pain somewhat further out. (In the kernel community, if you fetch my tree daily, you really *are* going to have hundreds and hundreds of packfiles just from doing that). So I'd really like us to also remind people to do a *real* and full "git gc", not just the incremental ones. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| David Miller | Slow DOWN, please!!! |
| Greg Kroah-Hartman | [PATCH 005/196] Chinese: add translation of SubmittingDrivers |
| Andrea Arcangeli | [PATCH 01 of 11] mmu-notifier-core |
| Andrew Morton | 2.6.23-rc3-mm1 |
git: | |
| Carl Worth | Difficulties in advertising a new branch to git newbies |
| Junio C Hamano | Re: [PATCH 3/3] Teach "git branch" about --new-workdir |
| Peter Stahlir | Git as a filesystem |
| Linus Torvalds | Re: irc usage.. |
| Wolfgang Walter | Re: Kernel oops with 2.6.26, padlock and ipsec: probably problem with fpu state ch... |
| Ingo Molnar | Re: iwlwifi: fix build bug in "iwlwifi: fix LED stall" |
| David Woodhouse | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Cedric Le Goater | Re: [PATCH net-2.6.24 0/3]: More TCP fixes |
| Richard Stallman | Real men don't attack straw men |
| Jason Dixon | Wasting our Freedom |
| bofh | Re: Code signing in OpenBSD |
| no@spam@mgedv.net | Re: HUAWEI not recognized properly (3 modem) |
| high memory | 7 hours ago | Linux kernel |
| semaphore access speed | 10 hours ago | Applications and Utilities |
| the kernel how to power off the machine | 11 hours ago | Linux kernel |
| Easter Eggs in windows XP | 14 hours ago | Windows |
| Shared swap partition | 15 hours ago | Linux general |
| Root password | 15 hours ago | Linux general |
| Where/when DNOTIFY is used? | 17 hours ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 19 hours ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 20 hours ago | Linux kernel |
| USB Driver -- Interrupt Polling -- A Little Help Please | 1 day ago | Linux general |
