Re: [PATCH] checkkconfigsymbols.py: make it Git aware

Valentin Rothberg
2015-03-11T15:05:35Z

It seems that using 'git cat-file blob commit:path' instead of 'git reset
--hard commit' + open is much more expensive.

The execution time jumps from 3 secs to 3 mins.

Paul, how long does your monster run? Maybe I just call it wrong or
mess up with caches.

Kind regards,
Valentin

On Wed, Mar 11, 2015 at 3:33 PM, Valentin Rothberg
<valentinrothberg@gmail.com> wrote:
> On Wed, Mar 11, 2015 at 3:19 PM, Valentin Rothberg
> <valentinrothberg@gmail.com> wrote:
>> On Wed, Mar 11, 2015 at 1:04 PM, Paul Bolle <pebolle@tiscali.nl> wrote:
>>> On Wed, 2015-03-11 at 12:16 +0100, Valentin Rothberg wrote:
>>>> Note that both options require to 'git reset --hard' the user's Git
>>>> tree, which can lead to the loss of uncommitted data.
>>>
>>> My local "800 line perl monster" basically does
>>> git ls-tree -r $commit_or_tag
>>>
>>> which allows you to generate a list of files and their corresponding
>>> hashes (it also helps with filtering out symlinks by the way).
>>>
>>> The you can do
>>> git cat-file blob $commit:$path
>>>
>>> or just
>>> git cat-file blob $hash
>>>
>>> for every file you're interested in and parse the output of that file
>>> (in memory, as it were). None of that messes with the current state of
>>> the tree you're working on.
>>
>> That's a good point. I used cat-file once in another script but
>> totally forgot its existence, thanks : ) The patch is already queued,
>> so I will change the behavior to your suggestion soon.
>
> Sorry for confusion. This patch is not queued yet. The one that
> filters toos/ has been queued : )
>
> Valentin