diff -rc mercurial-1.0.orig/mercurial/archival.py mercurial-1.0/mercurial/archival.py
*** mercurial-1.0.orig/mercurial/archival.py	2008-03-25 00:05:20.000000000 +0100
--- mercurial-1.0/mercurial/archival.py	2008-04-13 02:22:47.000000000 +0200
***************
*** 64,71 ****
                  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.mtime = mtime
  
          def taropen(name, mode, fileobj=None):
--- 64,71 ----
                  self.fileobj.write(fname + '\000')
  
      def __init__(self, dest, prefix, mtime, kind=''):
!         self.prefix = tidyprefix(dest, prefix, ['.tar', '.tar.gz',
!                                                 '.tgz'])
          self.mtime = mtime
  
          def taropen(name, mode, fileobj=None):
***************
*** 178,184 ****
  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),
      'zip': zipit,
--- 178,183 ----
diff -rc mercurial-1.0.orig/mercurial/bundlerepo.py mercurial-1.0/mercurial/bundlerepo.py
*** mercurial-1.0.orig/mercurial/bundlerepo.py	2008-03-25 00:05:20.000000000 +0100
--- mercurial-1.0/mercurial/bundlerepo.py	2008-04-13 02:23:54.000000000 +0200
***************
*** 12,18 ****
  
  from node import hex, nullid, short
  from i18n import _
! import changegroup, util, os, struct, bz2, tempfile, shutil, mdiff
  import repo, localrepo, changelog, manifest, filelog, revlog
  
  class bundlerevlog(revlog.revlog):
--- 12,18 ----
  
  from node import hex, nullid, short
  from i18n import _
! import changegroup, util, os, struct, tempfile, shutil, mdiff
  import repo, localrepo, changelog, manifest, filelog, revlog
  
  class bundlerevlog(revlog.revlog):
***************
*** 173,201 ****
              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":
-             fdtemp, temp = tempfile.mkstemp(prefix="hg-bundle-",
-                                             suffix=".hg10un", dir=self.path)
-             self.tempfile = temp
-             fptemp = os.fdopen(fdtemp, 'wb')
-             def generator(f):
-                 zd = bz2.BZ2Decompressor()
-                 zd.decompress("BZ")
-                 for chunk in f:
-                     yield zd.decompress(chunk)
-             gen = generator(util.filechunkiter(self.bundlefile, 4096))
- 
-             try:
-                 fptemp.write("HG10UN")
-                 for chunk in gen:
-                     fptemp.write(chunk)
-             finally:
-                 fptemp.close()
-                 self.bundlefile.close()
- 
-             self.bundlefile = open(self.tempfile, "rb")
-             # seek right after the header
-             self.bundlefile.seek(6)
          elif header == "HG10UN":
              # nothing to do
              pass
--- 173,178 ----
diff -rc mercurial-1.0.orig/mercurial/changegroup.py mercurial-1.0/mercurial/changegroup.py
*** mercurial-1.0.orig/mercurial/changegroup.py	2008-03-25 00:05:20.000000000 +0100
--- mercurial-1.0/mercurial/changegroup.py	2008-04-13 02:24:40.000000000 +0200
***************
*** 8,14 ****
  """
  
  from i18n import _
! import struct, os, bz2, zlib, util, tempfile
  
  def getchunk(source):
      """get a chunk from a changegroup"""
--- 8,14 ----
  """
  
  from i18n import _
! import struct, os, zlib, util, tempfile
  
  def getchunk(source):
      """get a chunk from a changegroup"""
***************
*** 49,60 ****
  bundletypes = {
      "": ("", nocompress),
      "HG10UN": ("HG10UN", nocompress),
-     "HG10BZ": ("HG10", lambda: bz2.BZ2Compressor()),
      "HG10GZ": ("HG10GZ", lambda: zlib.compressobj()),
  }
  
  # hgweb uses this list to communicate it's preferred type
! bundlepriority = ['HG10GZ', 'HG10BZ', 'HG10UN']
  
  def writebundle(cg, filename, bundletype):
      """Write a bundle file and return its filename.
--- 49,59 ----
  bundletypes = {
      "": ("", nocompress),
      "HG10UN": ("HG10UN", nocompress),
      "HG10GZ": ("HG10GZ", lambda: zlib.compressobj()),
  }
  
  # hgweb uses this list to communicate it's preferred type
! bundlepriority = ['HG10GZ', 'HG10UN']
  
  def writebundle(cg, filename, bundletype):
      """Write a bundle file and return its filename.
***************
*** 122,133 ****
              zd = zlib.decompressobj()
              for chunk in f:
                  yield zd.decompress(chunk)
-     elif header == 'HG10BZ':
-         def generator(f):
-             zd = bz2.BZ2Decompressor()
-             zd.decompress("BZ")
-             for chunk in util.filechunkiter(f, 4096):
-                 yield zd.decompress(chunk)
      return util.chunkbuffer(generator(fh))
  
  def readbundle(fh, fname):
--- 121,126 ----
diff -rc mercurial-1.0.orig/mercurial/commands.py mercurial-1.0/mercurial/commands.py
*** mercurial-1.0.orig/mercurial/commands.py	2008-03-25 00:05:20.000000000 +0100
--- mercurial-1.0/mercurial/commands.py	2008-04-13 02:24:54.000000000 +0200
***************
*** 139,145 ****
  
      "files" (default): a directory full of files
      "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
--- 139,144 ----
diff -rc mercurial-1.0.orig/mercurial/hgweb/hgwebdir_mod.py mercurial-1.0/mercurial/hgweb/hgwebdir_mod.py
*** mercurial-1.0.orig/mercurial/hgweb/hgwebdir_mod.py	2008-03-25 00:05:20.000000000 +0100
--- mercurial-1.0/mercurial/hgweb/hgwebdir_mod.py	2008-04-13 02:25:33.000000000 +0200
***************
*** 152,158 ****
  
          def archivelist(ui, nodeid, url):
              allowed = ui.configlist("web", "allow_archive", untrusted=True)
!             for i in [('zip', '.zip'), ('gz', '.tar.gz'), ('bz2', '.tar.bz2')]:
                  if i[0] in allowed or ui.configbool("web", "allow" + i[0],
                                                      untrusted=True):
                      yield {"type" : i[0], "extension": i[1],
--- 152,158 ----
  
          def archivelist(ui, nodeid, url):
              allowed = ui.configlist("web", "allow_archive", untrusted=True)
!             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 -rc mercurial-1.0.orig/mercurial/hgweb/hgweb_mod.py mercurial-1.0/mercurial/hgweb/hgweb_mod.py
*** mercurial-1.0.orig/mercurial/hgweb/hgweb_mod.py	2008-03-25 00:05:20.000000000 +0100
--- mercurial-1.0/mercurial/hgweb/hgweb_mod.py	2008-04-13 02:25:49.000000000 +0200
***************
*** 91,97 ****
          hook.redirect(True)
          self.mtime = -1
          self.reponame = name
!         self.archives = 'zip', 'gz', 'bz2'
          self.stripecount = 1
          self._capabilities = None
          # a repo owner may set web.templates in .hg/hgrc to get any file
--- 91,97 ----
          hook.redirect(True)
          self.mtime = -1
          self.reponame = name
!         self.archives = 'zip', 'gz'
          self.stripecount = 1
          self._capabilities = None
          # a repo owner may set web.templates in .hg/hgrc to get any file
***************
*** 915,921 ****
                      diff=diff)
  
      archive_specs = {
-         'bz2': ('application/x-tar', 'tbz2', '.tar.bz2', None),
          'gz': ('application/x-tar', 'tgz', '.tar.gz', None),
          'zip': ('application/zip', 'zip', '.zip', None),
          }
--- 915,920 ----
