Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/dirstate.py @ 2671:82864a2eb709
self.root == '/': prefix length computation out of the loop
- put the computation out of the loop
- change the variable to a more meaningful name
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 25 Jul 2006 21:22:56 +0200 |
parents | 93eb49419760 |
children | e78cad1f6b1f |
comparison
equal
deleted
inserted
replaced
2670:93eb49419760 | 2671:82864a2eb709 |
---|---|
342 # | 342 # |
343 # dc is an optional arg for the current dirstate. dc is not modified | 343 # dc is an optional arg for the current dirstate. dc is not modified |
344 # directly by this function, but might be modified by your statmatch call. | 344 # directly by this function, but might be modified by your statmatch call. |
345 # | 345 # |
346 def walkhelper(self, files, statmatch, dc, badmatch=None): | 346 def walkhelper(self, files, statmatch, dc, badmatch=None): |
347 # self.root may end with a path separator when self.root == '/' | |
348 common_prefix_len = len(self.root) | |
349 if not self.root.endswith('/'): | |
350 common_prefix_len += 1 | |
347 # recursion free walker, faster than os.walk. | 351 # recursion free walker, faster than os.walk. |
348 def findfiles(s): | 352 def findfiles(s): |
349 work = [s] | 353 work = [s] |
350 # self.root may end with a path separator when self.root == '/' | |
351 root_subtract_len = len(self.root) | |
352 if not self.root.endswith('/'): | |
353 root_subtract_len += 1 | |
354 while work: | 354 while work: |
355 top = work.pop() | 355 top = work.pop() |
356 names = os.listdir(top) | 356 names = os.listdir(top) |
357 names.sort() | 357 names.sort() |
358 # nd is the top of the repository dir tree | 358 # nd is the top of the repository dir tree |
359 nd = util.normpath(top[root_subtract_len:]) | 359 nd = util.normpath(top[common_prefix_len:]) |
360 if nd == '.': | 360 if nd == '.': |
361 nd = '' | 361 nd = '' |
362 else: | 362 else: |
363 # do not recurse into a repo contained in this | 363 # do not recurse into a repo contained in this |
364 # one. use bisect to find .hg directory so speed | 364 # one. use bisect to find .hg directory so speed |