mercurial/localrepo.py
changeset 39696 9de1a1c83cd7
parent 39695 cb2dcfa5cade
child 39697 98ca9078807a
equal deleted inserted replaced
39695:cb2dcfa5cade 39696:9de1a1c83cd7
   435     # We first validate the requirements are known.
   435     # We first validate the requirements are known.
   436     ensurerequirementsrecognized(requirements, supportedrequirements)
   436     ensurerequirementsrecognized(requirements, supportedrequirements)
   437 
   437 
   438     # Then we validate that the known set is reasonable to use together.
   438     # Then we validate that the known set is reasonable to use together.
   439     ensurerequirementscompatible(ui, requirements)
   439     ensurerequirementscompatible(ui, requirements)
       
   440 
       
   441     # TODO there are unhandled edge cases related to opening repositories with
       
   442     # shared storage. If storage is shared, we should also test for requirements
       
   443     # compatibility in the pointed-to repo. This entails loading the .hg/hgrc in
       
   444     # that repo, as that repo may load extensions needed to open it. This is a
       
   445     # bit complicated because we don't want the other hgrc to overwrite settings
       
   446     # in this hgrc.
       
   447     #
       
   448     # This bug is somewhat mitigated by the fact that we copy the .hg/requires
       
   449     # file when sharing repos. But if a requirement is added after the share is
       
   450     # performed, thereby introducing a new requirement for the opener, we may
       
   451     # will not see that and could encounter a run-time error interacting with
       
   452     # that shared store since it has an unknown-to-us requirement.
   440 
   453 
   441     # At this point, we know we should be capable of opening the repository.
   454     # At this point, we know we should be capable of opening the repository.
   442     # Now get on with doing that.
   455     # Now get on with doing that.
   443 
   456 
   444     return localrepository(
   457     return localrepository(