parentdelta: compress.py extension is no longer necessary
authorBenoit Boissinot <benoit.boissinot@ens-lyon.org>
Tue, 12 Oct 2010 08:30:15 -0500
changeset 12719 215ba8791f10
parent 12705 d734b3470138
child 12720 97fd67f35c00
parentdelta: compress.py extension is no longer necessary Using `hg --config format.parentdelta=True clone --pull src dst` is equivalent.
contrib/compress.py
--- a/contrib/compress.py	Mon Oct 11 13:26:29 2010 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-# Copyright 2010 Pradeepkumar Gayam <in3xes@gmail.com>
-#
-# Author(s):
-# Pradeepkumar Gayam <in3xes@gmail.com>
-#
-# This software may be used and distributed according to the terms of the
-# GNU General Public License version 2 or any later version.
-
-
-from mercurial import hg, localrepo
-from mercurial.lock import release
-import weakref
-
-def _copyrevlog(ui, src, dst, tr, progress=None):
-    if progress:
-        desc = 'adding %s' % progress
-        total = len(src)
-        def progress(count):
-            ui.progress(desc, count, unit=('revisions'), total=total)
-    else:
-        progress = lambda x: None
-    for r in src:
-        p = [src.node(i) for i in src.parentrevs(r)]
-        dst.addrevision(src.revision(src.node(r)), tr, src.linkrev(r),
-                        p[0], p[1])
-        progress(r)
-
-def compress(ui, repo, dest):
-    # activate parentdelta
-    ui.setconfig('format', 'parentdelta', 'on')
-    dest = hg.localpath(ui.expandpath(dest))
-    target = localrepo.instance(ui, dest, create=True)
-
-    tr = lock = tlock = None
-    try:
-        lock = repo.lock()
-        tlock = target.lock()
-        tr = target.transaction("compress")
-        trp = weakref.proxy(tr)
-
-        _copyrevlog(ui, repo.manifest, target.manifest, trp, 'manifest')
-
-        # only keep indexes and filter "data/" prefix and ".i" suffix
-        datafiles = [fn[5:-2] for fn, f2, size in repo.store.datafiles()
-                                      if size and fn.endswith('.i')]
-        total = len(datafiles)
-        for cnt, f in enumerate(datafiles):
-            _copyrevlog(ui, repo.file(f), target.file(f), trp)
-            ui.progress(('adding files'), cnt, item=f, unit=('file'),
-                        total=total)
-
-        _copyrevlog(ui, repo.changelog, target.changelog, trp, 'changesets')
-
-        tr.close()
-    finally:
-        if tr:
-            tr.release()
-        release(tlock, lock)
-
-cmdtable = {
-    "compress" : (compress, [], "DEST")
-    }