Re: "git reflog expire --all" very slow
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 31, 2009, 05:57 UTC
- Message-ID
- <7vmyb26xp4.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <alpine.LFD.2.00.0903302239040.4093@localhost.localdomain>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 25 quoted lines
> On Mon, 30 Mar 2009, Junio C Hamano wrote:
>>
>> I do have a lot of reflog entries kept around, as my main repository has
>> these:
>>
>> [gc]
>> reflogexpire = '2005-01-01 00:00:00 +0000'
>> reflogexpireunreachable = '2005-01-01 00:00:00 +0000'
>
> I think that actually _hides_ the problem. You'll never have anything at
> all that triggers that
>
> if (timestamp < cb->cmd->expire_unreachable) {
>
> because your "expire_unreachable" timestamp is already very old (== small
> value), so 'timestamp' will _not_ be older (smaller value) than that.
>
> I dunno. As mentioned, I don't really understand why we'd want to save
> some of those reflog entries at all in the first place, so I'm probably
> missing something.
>
> If we've asked for reflog entries past a certain age to be expired, why do
> when then look at the details of those reflog entries and only expire them
> under certain circumstances? Just expire them, and get rid of the
> 'unreachable' part.I know. My test repository does not have them. I only quoted them to tell you that I have a lot of entries to play with.