mercurial/scmutil.py
changeset 51798 eb952b2d224c
parent 51728 43460c311c0c
child 51800 e69e3d585f07
equal deleted inserted replaced
51797:62b25293b620 51798:eb952b2d224c
  1685     elif repo.ui.configbool(b'format', b'usestore'):
  1685     elif repo.ui.configbool(b'format', b'usestore'):
  1686         # only remove store requires if we are using store
  1686         # only remove store requires if we are using store
  1687         repo.svfs.tryunlink(b'requires')
  1687         repo.svfs.tryunlink(b'requires')
  1688 
  1688 
  1689 
  1689 
       
  1690 def readrequires(vfs, allowmissing):
       
  1691     """reads the require file present at root of this vfs
       
  1692     and return a set of requirements
       
  1693 
       
  1694     If allowmissing is True, we suppress FileNotFoundError if raised"""
       
  1695     # requires file contains a newline-delimited list of
       
  1696     # features/capabilities the opener (us) must have in order to use
       
  1697     # the repository. This file was introduced in Mercurial 0.9.2,
       
  1698     # which means very old repositories may not have one. We assume
       
  1699     # a missing file translates to no requirements.
       
  1700     read = vfs.tryread if allowmissing else vfs.read
       
  1701     return set(read(b'requires').splitlines())
       
  1702 
       
  1703 
  1690 def writerequires(opener, requirements) -> None:
  1704 def writerequires(opener, requirements) -> None:
  1691     with opener(b'requires', b'w', atomictemp=True) as fp:
  1705     with opener(b'requires', b'w', atomictemp=True) as fp:
  1692         for r in sorted(requirements):
  1706         for r in sorted(requirements):
  1693             fp.write(b"%s\n" % r)
  1707             fp.write(b"%s\n" % r)
  1694 
  1708