I encountered strange git behaviour which I want to share with your all, so
this is half bug-report / half workaround
Basically what happens is git (msysgit in particular, but see below)
freezes for several minutes on simple commands like this:
*git fetch origin refs/changes/25/31125/4 - 2m35s*
Git protocol, no ssh in progress.
If do so in freshly cloned repo - time is 3-4 seconds.
*git reflog expire --expire=all --all && git gc --prune=now --aggressive*
it improved situation, but not drastically - *1m39sec*
If copy same repo on linux - it faster (~40 sec), but still slower than in
newly cloned repo
By carefully investigating the issue I was able to find (kind of) source of
slowness - quite a bit of *.idx files in .git/objects/pack/*.idx *without
*git count-objects -v*
reports 245 garbage objects (with names in stderr)
If remove this objects manually by
*git count-objects -v 2>&1 1>NUL | sed 's/.\+: //g' | xargs rm -rvf
I have excellent 3-4 sec as expected (and equal to time to fetch in freshly
So, I solved *my *issue, but there are still open questions:
1. (most important one) Why this garbage *.idx are causing such
slowness? In my understanding, it should not interfere at all (because it's
2. Shouldn't '*git gc*' remove this garbage itself? Especially
considering the fact, that it '*git count-objects*' already accounts for
3. What causing this garbage to appear in the first place? Is it normal
to have such many garbage files? (although this might be msysgit (i.e. not
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.