##// END OF EJS Templates
localrepo: refactor `.hg/requires` reading logic in separate function...
Pulkit Goyal -
r45913:c4fe2262 default
parent child Browse files
Show More
@@ -484,6 +484,25 b' def _getsharedvfs(hgvfs, requirements):'
484 484 return sharedvfs
485 485
486 486
487 def _readrequires(vfs, allowmissing):
488 """ reads the require file present at root of this vfs
489 and return a set of requirements
490
491 If allowmissing is True, we suppress ENOENT if raised"""
492 # requires file contains a newline-delimited list of
493 # features/capabilities the opener (us) must have in order to use
494 # the repository. This file was introduced in Mercurial 0.9.2,
495 # which means very old repositories may not have one. We assume
496 # a missing file translates to no requirements.
497 try:
498 requirements = set(vfs.read(b'requires').splitlines())
499 except IOError as e:
500 if not (allowmissing and e.errno == errno.ENOENT):
501 raise
502 requirements = set()
503 return requirements
504
505
487 506 def makelocalrepository(baseui, path, intents=None):
488 507 """Create a local repository object.
489 508
@@ -546,17 +565,7 b' def makelocalrepository(baseui, path, in'
546 565
547 566 raise error.RepoError(_(b'repository %s not found') % path)
548 567
549 # .hg/requires file contains a newline-delimited list of
550 # features/capabilities the opener (us) must have in order to use
551 # the repository. This file was introduced in Mercurial 0.9.2,
552 # which means very old repositories may not have one. We assume
553 # a missing file translates to no requirements.
554 try:
555 requirements = set(hgvfs.read(b'requires').splitlines())
556 except IOError as e:
557 if e.errno != errno.ENOENT:
558 raise
559 requirements = set()
568 requirements = _readrequires(hgvfs, True)
560 569
561 570 # The .hg/hgrc file may load extensions or contain config options
562 571 # that influence repository construction. Attempt to load it and
General Comments 0
You need to be logged in to leave comments. Login now