D4748: upgrade: use storageinfo() for obtaining storage metadata
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Wed Sep 26 18:29:47 UTC 2018
indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Let's switch to our new API for obtaining information about storage.
This eliminates the last consumer of rawsize() and the opener proxy
from the file storage interface!
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D4748
AFFECTED FILES
mercurial/filelog.py
mercurial/upgrade.py
CHANGE DETAILS
diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py
--- a/mercurial/upgrade.py
+++ b/mercurial/upgrade.py
@@ -483,15 +483,13 @@
continue
rl = _revlogfrompath(srcrepo, unencoded)
- revcount += len(rl)
- datasize = 0
- rawsize = 0
+ info = rl.storageinfo(exclusivefiles=True, revisionscount=True,
+ trackedsize=True, storedsize=True)
- for path in rl.files():
- datasize += rl.opener.stat(path).st_size
-
- rawsize += sum(map(rl.rawsize, iter(rl)))
+ revcount += info['revisionscount'] or 0
+ datasize = info['storedsize'] or 0
+ rawsize = info['trackedsize'] or 0
srcsize += datasize
srcrawsize += rawsize
@@ -581,9 +579,8 @@
deltareuse=deltareuse,
deltabothparents=deltabothparents)
- datasize = 0
- for path in newrl.files():
- datasize += newrl.opener.stat(path).st_size
+ info = newrl.storageinfo(storedsize=True)
+ datasize = info['storedsize'] or 0
dstsize += datasize
diff --git a/mercurial/filelog.py b/mercurial/filelog.py
--- a/mercurial/filelog.py
+++ b/mercurial/filelog.py
@@ -73,7 +73,7 @@
def iscensored(self, rev):
return self._revlog.iscensored(rev)
- # Used by repo upgrade.
+ # Unused.
def rawsize(self, rev):
return self._revlog.rawsize(rev)
@@ -203,7 +203,7 @@
def indexfile(self, value):
self._revlog.indexfile = value
- # Used by repo upgrade.
+ # Unused.
@property
def opener(self):
return self._revlog.opener
To: indygreg, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list