mercurial/scmutil.py
changeset 45482 9a99ab8217bd
parent 45106 a03c177a4679
child 45483 d252f51ab032
equal deleted inserted replaced
45481:bddc4f2ef317 45482:9a99ab8217bd
    36     obsutil,
    36     obsutil,
    37     pathutil,
    37     pathutil,
    38     phases,
    38     phases,
    39     policy,
    39     policy,
    40     pycompat,
    40     pycompat,
       
    41     requirements as requirementsmod,
    41     revsetlang,
    42     revsetlang,
    42     similar,
    43     similar,
    43     smartset,
    44     smartset,
    44     url,
    45     url,
    45     util,
    46     util,
  1468             src = None
  1469             src = None
  1469         ds.copy(src, dst)
  1470         ds.copy(src, dst)
  1470     repo._quick_access_changeid_invalidate()
  1471     repo._quick_access_changeid_invalidate()
  1471 
  1472 
  1472 
  1473 
       
  1474 def filterrequirements(requirements):
       
  1475     """ filters the requirements into two sets:
       
  1476 
       
  1477     wcreq: requirements which should be written in .hg/requires
       
  1478     storereq: which should be written in .hg/store/requires
       
  1479 
       
  1480     Returns (wcreq, storereq)
       
  1481     """
       
  1482     if False:
       
  1483         wc, store = set(), set()
       
  1484         for r in requirements:
       
  1485             if r in requirementsmod.WORKING_DIR_REQUIREMENTS:
       
  1486                 wc.add(r)
       
  1487             else:
       
  1488                 store.add(r)
       
  1489         return wc, store
       
  1490     return requirements, None
       
  1491 
       
  1492 
  1473 def writereporequirements(repo, requirements=None):
  1493 def writereporequirements(repo, requirements=None):
  1474     """ writes requirements for the repo to .hg/requires """
  1494     """ writes requirements for the repo to .hg/requires """
  1475     if requirements:
  1495     if requirements:
  1476         repo.requirements = requirements
  1496         repo.requirements = requirements
  1477     writerequires(repo.vfs, repo.requirements)
  1497     wcreq, storereq = filterrequirements(repo.requirements)
       
  1498     if wcreq is not None:
       
  1499         writerequires(repo.vfs, wcreq)
       
  1500     if storereq is not None:
       
  1501         writerequires(repo.svfs, storereq)
  1478 
  1502 
  1479 
  1503 
  1480 def writerequires(opener, requirements):
  1504 def writerequires(opener, requirements):
  1481     with opener(b'requires', b'w', atomictemp=True) as fp:
  1505     with opener(b'requires', b'w', atomictemp=True) as fp:
  1482         for r in sorted(requirements):
  1506         for r in sorted(requirements):