mercurial/localrepo.py
changeset 39696 9de1a1c83cd7
parent 39695 cb2dcfa5cade
child 39697 98ca9078807a
--- a/mercurial/localrepo.py	Wed Sep 12 15:03:17 2018 -0700
+++ b/mercurial/localrepo.py	Wed Sep 12 13:10:45 2018 -0700
@@ -438,6 +438,19 @@
     # Then we validate that the known set is reasonable to use together.
     ensurerequirementscompatible(ui, requirements)
 
+    # TODO there are unhandled edge cases related to opening repositories with
+    # shared storage. If storage is shared, we should also test for requirements
+    # compatibility in the pointed-to repo. This entails loading the .hg/hgrc in
+    # that repo, as that repo may load extensions needed to open it. This is a
+    # bit complicated because we don't want the other hgrc to overwrite settings
+    # in this hgrc.
+    #
+    # This bug is somewhat mitigated by the fact that we copy the .hg/requires
+    # file when sharing repos. But if a requirement is added after the share is
+    # performed, thereby introducing a new requirement for the opener, we may
+    # will not see that and could encounter a run-time error interacting with
+    # that shared store since it has an unknown-to-us requirement.
+
     # At this point, we know we should be capable of opening the repository.
     # Now get on with doing that.