summaryrefslogtreecommitdiff
path: root/contrib/shrink-revlog.py
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/shrink-revlog.py')
-rw-r--r--contrib/shrink-revlog.py29
1 files changed, 13 insertions, 16 deletions
diff --git a/contrib/shrink-revlog.py b/contrib/shrink-revlog.py
index 6bd006d..18c0de7 100644
--- a/contrib/shrink-revlog.py
+++ b/contrib/shrink-revlog.py
@@ -16,7 +16,7 @@ This is *not* safe to run on a changelog.
# e.g. by comparing "before" and "after" states of random changesets
# (maybe: export before, shrink, export after, diff).
-import os, errno
+import os, tempfile, errno
from mercurial import revlog, transaction, node, util, scmutil
from mercurial import changegroup
from mercurial.i18n import _
@@ -191,6 +191,7 @@ def shrink(ui, repo, **opts):
'will corrupt your repository'))
ui.write(_('shrinking %s\n') % indexfn)
+ prefix = os.path.basename(indexfn)[:-1]
tmpindexfn = util.mktempcopy(indexfn, emptyok=True)
r1 = revlog.revlog(scmutil.opener(os.getcwd(), audit=False), indexfn)
@@ -240,7 +241,7 @@ def shrink(ui, repo, **opts):
writerevs(ui, r1, r2, order, tr)
report(ui, r1, r2)
tr.close()
- except: # re-raises
+ except:
# Abort transaction first, so we truncate the files before
# deleting them.
tr.abort()
@@ -269,23 +270,19 @@ def shrink(ui, repo, **opts):
lock.release()
if not opts.get('dry_run'):
- ui.write(
- _('note: old revlog saved in:\n'
- ' %s\n'
- ' %s\n'
- '(You can delete those files when you are satisfied that your\n'
- 'repository is still sane. '
- 'Running \'hg verify\' is strongly recommended.)\n')
- % (oldindexfn, olddatafn))
+ ui.write(_('note: old revlog saved in:\n'
+ ' %s\n'
+ ' %s\n'
+ '(You can delete those files when you are satisfied that your\n'
+ 'repository is still sane. '
+ 'Running \'hg verify\' is strongly recommended.)\n')
+ % (oldindexfn, olddatafn))
cmdtable = {
'shrink': (shrink,
- [('', 'revlog', '',
- _('the revlog to shrink (.i)')),
- ('n', 'dry-run', None,
- _('do not shrink, simulate only')),
- ('', 'sort', 'reversepostorder',
- _('name of sort algorithm to use')),
+ [('', 'revlog', '', _('index (.i) file of the revlog to shrink')),
+ ('n', 'dry-run', None, _('do not shrink, simulate only')),
+ ('', 'sort', 'reversepostorder', 'name of sort algorithm to use'),
],
_('hg shrink [--revlog PATH]'))
}