changeset 4163:fe41d9a186ab

Allow disabling store format to work with absurdly long filenames
author Matt Mackall <mpm@selenic.com>
date Thu, 08 Mar 2007 16:12:52 -0600
parents b2d9e553cdc8
children 0d0f098e5d51
files doc/hgrc.5.txt mercurial/localrepo.py
diffstat 2 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/doc/hgrc.5.txt	Wed Mar 07 15:26:03 2007 -0300
+++ b/doc/hgrc.5.txt	Thu Mar 08 16:12:52 2007 -0600
@@ -215,6 +215,15 @@
     # (this extension will get loaded from the file specified)
     myfeature = ~/.hgext/myfeature.py
 
+format::
+
+  usestore;;
+    Enable or disable the "store" repository format which improves
+    compatibility with systems that fold case or otherwise mangle
+    filenames. Enabled by default. Disabling this option will allow
+    you to store longer filenames in some situations at the expense of
+    compatibility.
+
 hooks::
   Commands or Python functions that get automatically executed by
   various actions such as starting or finishing a commit. Multiple
--- a/mercurial/localrepo.py	Wed Mar 07 15:26:03 2007 -0300
+++ b/mercurial/localrepo.py	Thu Mar 08 16:12:52 2007 -0600
@@ -41,8 +41,11 @@
                 if not os.path.exists(path):
                     os.mkdir(path)
                 os.mkdir(self.path)
-                os.mkdir(os.path.join(self.path, "store"))
-                requirements = ("revlogv1", "store")
+                if parentui.config('format', 'usestore', 1):
+                    os.mkdir(os.path.join(self.path, "store"))
+                    requirements = ("revlogv1", "store")
+                else:
+                    requirements = ("revlogv1")
                 reqfile = self.opener("requires", "w")
                 for r in requirements:
                     reqfile.write("%s\n" % r)