# HG changeset patch # User Matt Mackall # Date 1173391972 21600 # Node ID fe41d9a186ab4adcd38823b408f86834379ce632 # Parent b2d9e553cdc8ca99f134b78de7ccd3c39cfa3c7d Allow disabling store format to work with absurdly long filenames diff --git a/doc/hgrc.5.txt b/doc/hgrc.5.txt --- a/doc/hgrc.5.txt +++ b/doc/hgrc.5.txt @@ -215,6 +215,15 @@ extensions:: # (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 diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -41,8 +41,11 @@ class localrepository(repo.repository): 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)