comparison mercurial/pathutil.py @ 52906:bde94bd8e8a2

typing: use a protocol to annotate `pathutil.dirs` in repository.py That is one external import for the repository interface module. One more to go.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 08 Feb 2025 18:15:18 +0100
parents 0bd91b0a1a93
children
comparison
equal deleted inserted replaced
52905:483b0bb23085 52906:bde94bd8e8a2
19 error, 19 error,
20 policy, 20 policy,
21 pycompat, 21 pycompat,
22 util, 22 util,
23 ) 23 )
24
25 from .interfaces import misc as int_misc
24 26
25 rustdirs = policy.importrust('dirstate', 'Dirs', pyo3=True) 27 rustdirs = policy.importrust('dirstate', 'Dirs', pyo3=True)
26 parsers = policy.importmod('parsers') 28 parsers = policy.importmod('parsers')
27 29
28 30
333 while pos != -1: 335 while pos != -1:
334 yield path[:pos] 336 yield path[:pos]
335 pos = path.find(pycompat.ossep, pos + 1) 337 pos = path.find(pycompat.ossep, pos + 1)
336 338
337 339
338 class dirs: 340 class dirs(int_misc.IDirs):
339 '''a multiset of directory names from a set of file paths''' 341 '''a multiset of directory names from a set of file paths'''
340 342
341 def __init__(self, map, only_tracked=False): 343 def __init__(self, map, only_tracked=False):
342 """ 344 """
343 a dict map indicates a dirstate while a list indicates a manifest 345 a dict map indicates a dirstate while a list indicates a manifest