diff --git a/eden/scm/edenscm/mercurial/configitems.py b/eden/scm/edenscm/mercurial/configitems.py index c9a0305506..49bf8439d5 100644 --- a/eden/scm/edenscm/mercurial/configitems.py +++ b/eden/scm/edenscm/mercurial/configitems.py @@ -320,12 +320,10 @@ coreconfigitem( ) coreconfigitem("format", "chunkcachesize", default=None) coreconfigitem("format", "dirstate", default=2) -coreconfigitem("format", "dotencode", default=True) coreconfigitem("format", "generaldelta", default=False) coreconfigitem("format", "manifestcachesize", default=None) coreconfigitem("format", "maxchainlen", default=None) coreconfigitem("format", "obsstore-version", default=None) -coreconfigitem("format", "usefncache", default=True) coreconfigitem("format", "usegeneraldelta", default=True) coreconfigitem("format", "use-segmented-changelog", default=False) coreconfigitem("fsmonitor", "warn_when_unused", default=True) diff --git a/eden/scm/edenscm/mercurial/helptext.py b/eden/scm/edenscm/mercurial/helptext.py index 628a53e0a2..c5ff230902 100644 --- a/eden/scm/edenscm/mercurial/helptext.py +++ b/eden/scm/edenscm/mercurial/helptext.py @@ -1067,26 +1067,6 @@ Example for ``~/.hgrc``:: Enabled by default. -``dotencode`` - Enable or disable the "dotencode" repository format which enhances - the "fncache" repository format (which has to be enabled to use - dotencode) to avoid issues with filenames starting with ._ on - Mac OS X and spaces on Windows. - - Repositories with this on-disk format require Mercurial version 1.7. - - Enabled by default. - -``usefncache`` - Enable or disable the "fncache" repository format which enhances - the "store" repository format (which has to be enabled to use - fncache) to allow longer filenames and avoids using Windows - reserved names, e.g. "nul". - - Repositories with this on-disk format require Mercurial version 1.1. - - Enabled by default. - ``dirstate`` Dirstate format version to use. One of 0 (flat dirstate), 1 (treedirstate), and 2 (treestate). Default is 1. diff --git a/eden/scm/edenscm/mercurial/localrepo.py b/eden/scm/edenscm/mercurial/localrepo.py index e2c2037afd..bf6db05b6c 100644 --- a/eden/scm/edenscm/mercurial/localrepo.py +++ b/eden/scm/edenscm/mercurial/localrepo.py @@ -3002,10 +3002,8 @@ def newreporequirements(repo): ui = repo.ui requirements = {"revlogv1"} requirements.add("store") - if ui.configbool("format", "usefncache"): - requirements.add("fncache") - if ui.configbool("format", "dotencode"): - requirements.add("dotencode") + requirements.add("fncache") + requirements.add("dotencode") compengine = ui.config("experimental", "format.compression") if compengine not in util.compengines: diff --git a/eden/scm/edenscm/mercurial/store.py b/eden/scm/edenscm/mercurial/store.py index df5f73f697..d31dc89942 100644 --- a/eden/scm/edenscm/mercurial/store.py +++ b/eden/scm/edenscm/mercurial/store.py @@ -508,33 +508,6 @@ class basicstore(object): return self.vfs.exists(path) -class encodedstore(basicstore): - def __init__(self, path, vfstype): - vfs = vfstype(path + "/store") - self.path = vfs.base - self.createmode = _calcmode(vfs) - vfs.createmode = self.createmode - self.rawvfs = vfs - self.vfs = vfsmod.filtervfs(vfs, encodefilename) - self.opener = self.vfs - - def datafiles(self): - for a, b, size in super(encodedstore, self).datafiles(): - try: - a = decodefilename(a) - except KeyError: - a = None - yield a, b, size - - def join(self, f): - return self.path + "/" + encodefilename(f) - - def copylist(self): - return ["requires", "00changelog.i", "store/requires"] + [ - "store/" + f for f in _data.split() - ] - - class fncache(object): # the filename used to be partially encoded # hence the encodedir/decodedir dance @@ -808,19 +781,14 @@ class fncachestore(basicstore): def store(requirements, path, vfstype, uiconfig=None): - if "store" in requirements: - if "fncache" in requirements: - store = fncachestore(path, vfstype, "dotencode" in requirements) - if uiconfig and uiconfig.configbool("experimental", "metalog"): - # Change remotenames and visibleheads to be backed by metalog, - # so they can be atomically read or written. - store.vfs.metapaths = { - "remotenames", - "visibleheads", - "bookmarks", - "config", - "tip", - } - return store - return encodedstore(path, vfstype) - return basicstore(path, vfstype) + store = fncachestore(path, vfstype, "dotencode" in requirements) + # Change remotenames and visibleheads to be backed by metalog, + # so they can be atomically read or written. + store.vfs.metapaths = { + "remotenames", + "visibleheads", + "bookmarks", + "config", + "tip", + } + return store diff --git a/eden/scm/tests/test-bookmarks-loading-order.t b/eden/scm/tests/test-bookmarks-loading-order.t index 830bbae8dd..2c47210526 100644 --- a/eden/scm/tests/test-bookmarks-loading-order.t +++ b/eden/scm/tests/test-bookmarks-loading-order.t @@ -19,9 +19,3 @@ With metalog it works fine: $ hg log -r A -T '{desc}\n' --config hooks.pre-bookmark-load='hg commit -m A3' A2 - -Without metalog: - - $ setconfig experimental.metalog=false - $ hg log -r A -T '{desc}\n' --config hooks.pre-bookmark-load='hg commit -m A4' - A4 diff --git a/eden/scm/tests/test-help.t b/eden/scm/tests/test-help.t index c6464e0425..758978892c 100644 --- a/eden/scm/tests/test-help.t +++ b/eden/scm/tests/test-help.t @@ -1265,10 +1265,6 @@ Separate sections from subsections "usegeneraldelta" - "dotencode" - - "usefncache" - "dirstate" "uselz4" diff --git a/eden/scm/tests/test-init.t b/eden/scm/tests/test-init.t index ab6d893d09..6c45c066b4 100644 --- a/eden/scm/tests/test-init.t +++ b/eden/scm/tests/test-init.t @@ -66,6 +66,8 @@ creating repo with format.usefncache=false $ checknewrepo old2 store created 00changelog.i created + dotencode + fncache generaldelta lz4revlog revlogv1 @@ -78,6 +80,7 @@ creating repo with format.dotencode=false $ checknewrepo old3 store created 00changelog.i created + dotencode fncache generaldelta lz4revlog