D4095: narrow: extract part of narrowspec backup to core
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Fri Aug 3 21:24:24 UTC 2018
martinvonz created this revision.
Herald added a reviewer: durin42.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Just a little preparation for the next patch.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4095
AFFECTED FILES
hgext/narrow/narrowdirstate.py
mercurial/narrowspec.py
CHANGE DETAILS
diff --git a/mercurial/narrowspec.py b/mercurial/narrowspec.py
--- a/mercurial/narrowspec.py
+++ b/mercurial/narrowspec.py
@@ -145,6 +145,16 @@
spec = format(includepats, excludepats)
repo.vfs.write(FILENAME, spec)
+def savebackup(vfs, backupname):
+ vfs.tryunlink(backupname)
+ util.copyfile(vfs.join(FILENAME), vfs.join(backupname), hardlink=True)
+
+def restorebackup(vfs, backupname):
+ vfs.rename(backupname, FILENAME, checkambig=True)
+
+def clearbackup(vfs, backupname):
+ vfs.unlink(backupname)
+
def restrictpatterns(req_includes, req_excludes, repo_includes, repo_excludes):
r""" Restricts the patterns according to repo settings,
results in a logical AND operation
diff --git a/hgext/narrow/narrowdirstate.py b/hgext/narrow/narrowdirstate.py
--- a/hgext/narrow/narrowdirstate.py
+++ b/hgext/narrow/narrowdirstate.py
@@ -12,7 +12,6 @@
error,
match as matchmod,
narrowspec,
- util as hgutil,
)
def wrapdirstate(repo, dirstate):
@@ -79,21 +78,17 @@
super(narrowdirstate, self).rebuild(parent, allfiles, changedfiles)
def restorebackup(self, tr, backupname):
- self._opener.rename(_narrowbackupname(backupname),
- narrowspec.FILENAME, checkambig=True)
+ narrowspec.restorebackup(self._opener,
+ _narrowbackupname(backupname))
super(narrowdirstate, self).restorebackup(tr, backupname)
def savebackup(self, tr, backupname):
super(narrowdirstate, self).savebackup(tr, backupname)
-
- narrowbackupname = _narrowbackupname(backupname)
- self._opener.tryunlink(narrowbackupname)
- hgutil.copyfile(self._opener.join(narrowspec.FILENAME),
- self._opener.join(narrowbackupname), hardlink=True)
+ narrowspec.savebackup(self._opener, _narrowbackupname(backupname))
def clearbackup(self, tr, backupname):
super(narrowdirstate, self).clearbackup(tr, backupname)
- self._opener.unlink(_narrowbackupname(backupname))
+ narrowspec.clearbackup(self._opener, _narrowbackupname(backupname))
dirstate.__class__ = narrowdirstate
return dirstate
To: martinvonz, durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list