diff options
Diffstat (limited to 'contrib/shrink-revlog.py')
-rw-r--r-- | contrib/shrink-revlog.py | 29 |
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]')) } |