--- a/mercurial/archival.py +++ b/mercurial/archival.py @@ -37,7 +37,6 @@ def tidyprefix(dest, kind, prefix): exts = { 'tar': ['.tar'], - 'tbz2': ['.tbz2', '.tar.bz2'], 'tgz': ['.tgz', '.tar.gz'], 'zip': ['.zip'], } @@ -51,7 +50,7 @@ def guesskind(dest): class tarit(object): '''write archive to tar file or stream. can write uncompressed, - or compress with gzip or bzip2.''' + or compress with gzip.''' class GzipFileWithTime(gzip.GzipFile): @@ -205,7 +204,6 @@ class fileit(object): archivers = { 'files': fileit, 'tar': tarit, - 'tbz2': lambda name, mtime: tarit(name, mtime, 'bz2'), 'tgz': lambda name, mtime: tarit(name, mtime, 'gz'), 'uzip': lambda name, mtime: zipit(name, mtime, False), 'zip': zipit, --- a/mercurial/bundlerepo.py +++ b/mercurial/bundlerepo.py @@ -307,7 +307,7 @@ def getremotechanges(ui, repo, other, re cg = other.changegroup(incoming, "incoming") else: cg = other.changegroupsubset(incoming, revs, 'incoming') - bundletype = other.local() and "HG10BZ" or "HG10UN" + bundletype = other.local() and "HG10GZ" or "HG10UN" fname = bundle = changegroup.writebundle(cg, bundlename, bundletype) # keep written bundle? if bundlename: --- a/mercurial/changegroup.py +++ b/mercurial/changegroup.py @@ -7,7 +7,7 @@ from i18n import _ import util -import struct, os, bz2, zlib, tempfile +import struct, os, zlib, tempfile def readexactly(stream, n): '''read n bytes from stream.read and abort if less was available''' @@ -45,7 +45,6 @@ class nocompress(object): bundletypes = { "": ("", nocompress), "HG10UN": ("HG10UN", nocompress), - "HG10BZ": ("HG10", lambda: bz2.BZ2Compressor()), "HG10GZ": ("HG10GZ", lambda: zlib.compressobj()), } @@ -59,14 +58,13 @@ def collector(cl, mmfs, files): return collect # hgweb uses this list to communicate its preferred type -bundlepriority = ['HG10GZ', 'HG10BZ', 'HG10UN'] +bundlepriority = ['HG10GZ', 'HG10UN'] def writebundle(cg, filename, bundletype): """Write a bundle file and return its filename. Existing files will not be overwritten. If no filename is specified, a temporary file is created. - bz2 compression can be turned off. The bundle file will be deleted in case of errors. """ @@ -124,12 +122,6 @@ def decompressor(fh, alg): zd = zlib.decompressobj() for chunk in f: yield zd.decompress(chunk) - elif alg == 'BZ': - def generator(f): - zd = bz2.BZ2Decompressor() - zd.decompress("BZ") - for chunk in util.filechunkiter(f, 4096): - yield zd.decompress(chunk) else: raise util.Abort("unknown bundle compression '%s'" % alg) return util.chunkbuffer(generator(fh)) --- a/mercurial/hgweb/hgwebdir_mod.py +++ b/mercurial/hgweb/hgwebdir_mod.py @@ -204,7 +204,7 @@ class hgwebdir(object): def archivelist(ui, nodeid, url): allowed = ui.configlist("web", "allow_archive", untrusted=True) archives = [] - for i in [('zip', '.zip'), ('gz', '.tar.gz'), ('bz2', '.tar.bz2')]: + for i in [('zip', '.zip'), ('gz', '.tar.gz')]: if i[0] in allowed or ui.configbool("web", "allow" + i[0], untrusted=True): archives.append({"type" : i[0], "extension": i[1], --- a/mercurial/hgweb/hgweb_mod.py +++ b/mercurial/hgweb/hgweb_mod.py @@ -39,7 +39,7 @@ class hgweb(object): hook.redirect(True) self.mtime = -1 self.reponame = name - self.archives = 'zip', 'gz', 'bz2' + self.archives = 'zip', 'gz' self.stripecount = 1 # a repo owner may set web.templates in .hg/hgrc to get any file # readable by the user running the CGI script @@ -280,7 +280,6 @@ class hgweb(object): yield {"type" : i, "extension" : spec[2], "node" : nodeid} archive_specs = { - 'bz2': ('application/x-bzip2', 'tbz2', '.tar.bz2', None), 'gz': ('application/x-gzip', 'tgz', '.tar.gz', None), 'zip': ('application/zip', 'zip', '.zip', None), } --- a/mercurial/repair.py +++ b/mercurial/repair.py @@ -19,7 +19,7 @@ def _bundle(repo, bases, heads, node, su os.mkdir(backupdir) name = os.path.join(backupdir, "%s-%s.hg" % (short(node), suffix)) if compress: - bundletype = "HG10BZ" + bundletype = "HG10GZ" else: bundletype = "HG10UN" return changegroup.writebundle(cg, name, bundletype) --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -162,7 +162,6 @@ def archive(ui, repo, dest, **opts): :``files``: a directory full of files (default) :``tar``: tar archive, uncompressed - :``tbz2``: tar archive, compressed using bzip2 :``tgz``: tar archive, compressed using gzip :``uzip``: zip archive, uncompressed :``zip``: zip archive, compressed using deflate @@ -644,8 +643,8 @@ def bundle(ui, repo, fname, dest=None, * -a/--all (or --base null). You can change compression method with the -t/--type option. - The available compression methods are: none, bzip2, and - gzip (by default, bundles are compressed using bzip2). + The available compression methods are: none, and + gzip (by default, bundles are compressed using gzip). The bundle file can then be transferred using conventional means and applied to another repository with the unbundle or pull @@ -712,8 +711,8 @@ def bundle(ui, repo, fname, dest=None, * else: cg = repo.changegroup(o, 'bundle') - bundletype = opts.get('type', 'bzip2').lower() - btypes = {'none': 'HG10UN', 'bzip2': 'HG10BZ', 'gzip': 'HG10GZ'} + bundletype = opts.get('type', 'gzip').lower() + btypes = {'none': 'HG10UN', 'gzip': 'HG10GZ'} bundletype = btypes.get(bundletype) if bundletype not in changegroup.bundletypes: raise util.Abort(_('unknown bundle type specified with --type')) @@ -4307,7 +4306,7 @@ table = { _('a base changeset assumed to be available at the destination'), _('REV')), ('a', 'all', None, _('bundle all changesets in the repository')), - ('t', 'type', 'bzip2', + ('t', 'type', 'gzip', _('bundle compression type to use'), _('TYPE')), ] + remoteopts, _('[-f] [-t TYPE] [-a] [-r REV]... [--base REV]... FILE [DEST]')), --- a/setup.py +++ b/setup.py @@ -36,12 +36,6 @@ except: raise SystemExit( "Couldn't import standard zlib (incomplete Python install).") -try: - import bz2 -except: - raise SystemExit( - "Couldn't import standard bz2 (incomplete Python install).") - import os, subprocess, time import shutil import tempfile