-diff -urN mercurial-1.1.2/mercurial/archival.py mercurial-1.1.2-nobz2/mercurial/archival.py
---- mercurial-1.1.2/mercurial/archival.py 2009-01-01 00:38:33.000000000 +0100
-+++ mercurial-1.1.2-nobz2/mercurial/archival.py 2009-01-01 13:53:14.000000000 +0100
-@@ -65,8 +65,8 @@
- self.fileobj.write(fname + '\000')
-
- def __init__(self, dest, prefix, mtime, kind=''):
-- self.prefix = tidyprefix(dest, prefix, ['.tar', '.tar.bz2', '.tar.gz',
-- '.tgz', '.tbz2'])
-+ self.prefix = tidyprefix(dest, prefix, ['.tar', '.tar.gz',
-+ '.tgz'])
- self.mtime = mtime
-
- def taropen(name, mode, fileobj=None):
-@@ -179,7 +179,6 @@
+--- 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, prefix, mtime: tarit(name, prefix, mtime, 'bz2'),
- 'tgz': lambda name, prefix, mtime: tarit(name, prefix, mtime, 'gz'),
- 'uzip': lambda name, prefix, mtime: zipit(name, prefix, mtime, False),
+- '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,
-diff -urN mercurial-1.1.2/mercurial/bundlerepo.py mercurial-1.1.2-nobz2/mercurial/bundlerepo.py
---- mercurial-1.1.2/mercurial/bundlerepo.py 2009-01-01 00:38:33.000000000 +0100
-+++ mercurial-1.1.2-nobz2/mercurial/bundlerepo.py 2009-01-01 13:53:59.000000000 +0100
-@@ -12,7 +12,7 @@
+--- 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 node import hex, nullid, short
from i18n import _
--import changegroup, util, os, struct, bz2, zlib, tempfile, shutil, mdiff
-+import changegroup, util, os, struct, zlib, tempfile, shutil, mdiff
- import repo, localrepo, changelog, manifest, filelog, revlog, context
-
- class bundlerevlog(revlog.revlog):
-@@ -173,16 +173,13 @@
- raise util.Abort(_("%s: not a Mercurial bundle file") % bundlename)
- elif not header.startswith("HG10"):
- raise util.Abort(_("%s: unknown bundle version") % bundlename)
-- elif (header == "HG10BZ") or (header == "HG10GZ"):
-+ elif (header == "HG10GZ"):
- fdtemp, temp = tempfile.mkstemp(prefix="hg-bundle-",
- suffix=".hg10un", dir=self.path)
- self.tempfile = temp
- fptemp = os.fdopen(fdtemp, 'wb')
- def generator(f):
-- if header == "HG10BZ":
-- zd = bz2.BZ2Decompressor()
-- zd.decompress("BZ")
-- elif header == "HG10GZ":
-+ if header == "HG10GZ":
- zd = zlib.decompressobj()
- for chunk in f:
- yield zd.decompress(chunk)
-diff -urN mercurial-1.1.2/mercurial/changegroup.py mercurial-1.1.2-nobz2/mercurial/changegroup.py
---- mercurial-1.1.2/mercurial/changegroup.py 2009-01-01 00:38:33.000000000 +0100
-+++ mercurial-1.1.2-nobz2/mercurial/changegroup.py 2009-01-01 13:52:05.000000000 +0100
-@@ -8,7 +8,7 @@
- """
+ import util
+-import struct, os, bz2, zlib, tempfile
++import struct, os, zlib, tempfile
- from i18n import _
--import struct, os, bz2, zlib, util, tempfile
-+import struct, os, zlib, util, tempfile
-
- def getchunk(source):
- """get a chunk from a changegroup"""
-@@ -49,12 +49,11 @@
+ 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),
"HG10GZ": ("HG10GZ", lambda: zlib.compressobj()),
}
- # hgweb uses this list to communicate it's preferred type
+@@ -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.
-@@ -122,12 +121,6 @@
+
+ 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 header == 'HG10BZ':
+- 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))
-
- def readbundle(fh, fname):
-diff -urN mercurial-1.1.2/mercurial/hgweb/hgwebdir_mod.py mercurial-1.1.2-nobz2/mercurial/hgweb/hgwebdir_mod.py
---- mercurial-1.1.2/mercurial/hgweb/hgwebdir_mod.py 2009-01-01 00:38:33.000000000 +0100
-+++ mercurial-1.1.2-nobz2/mercurial/hgweb/hgwebdir_mod.py 2009-01-01 13:54:29.000000000 +0100
-@@ -178,7 +178,7 @@
-
+--- 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):
- yield {"type" : i[0], "extension": i[1],
-diff -urN mercurial-1.1.2/mercurial/hgweb/hgweb_mod.py mercurial-1.1.2-nobz2/mercurial/hgweb/hgweb_mod.py
---- mercurial-1.1.2/mercurial/hgweb/hgweb_mod.py 2009-01-01 00:38:33.000000000 +0100
-+++ mercurial-1.1.2-nobz2/mercurial/hgweb/hgweb_mod.py 2009-01-01 13:55:08.000000000 +0100
-@@ -35,7 +35,7 @@
- hook.redirect(True)
+ archives.append({"type" : i[0], "extension": i[1],
+--- a/mercurial/hgweb/hgweb_mod.py
++++ b/mercurial/hgweb/hgweb_mod.py
+@@ -40,7 +40,7 @@ class hgweb(object):
self.mtime = -1
+ self.size = -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
-@@ -266,7 +266,6 @@
+@@ -284,7 +284,6 @@ class hgweb(object):
yield {"type" : i, "extension" : spec[2], "node" : nodeid}
archive_specs = {
-- 'bz2': ('application/x-tar', 'tbz2', '.tar.bz2', None),
- 'gz': ('application/x-tar', 'tgz', '.tar.gz', None),
+- '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'))
+@@ -4316,7 +4315,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