Attila Nagy <b...@fsn.hu> writes:

> On 11/16/11 18:40, Philip Martin wrote:
>> Attila Nagy<b...@fsn.hu>  writes:
>>
>>> I use pysvn for this and basically the code looks like this (in python):
>>> def update_perms():
>>>      for path in propchg:
>>>          proplist = svn.propget('file:permissions', path)
>>>          if not os.path.islink(path) and proplist.has_key(path):
>>>              set_perms(path, proplist[path])
>>> svn.update(walkroot)
>>> update_perms()
>>>
>>> The svn update collects the changed entries (propchg) and update_perms
>>> iterates on them and gets their file:permissions property and sets it
>>> in the file system.
>>>
>>> And this is what takes ages (literally), compared to 1.6.
>>> Any ideas about what could be done in this topic?
>>
>> It might be faster to run a recursive propget, which is a single
>> transaction, and discard the output if it doesn't match one of the
>> changed paths.
>>
> I will try this. Should this be true even for 10+ million files?

It depends on the ratio of changed files to total files.  If there is
only one changed file then the single propget will be faster.  If most
of the files are changed then the recursive propget will be faster.

-- 
Philip

Reply via email to