[packages] mercurial: update to 1.8.4, refresh patches
[openwrt/svn-archive/archive.git] / net / mercurial / patches / 001-no_bzip2.patch
index 37083968e69c1c781965af0c5bdb8a875a9f07da..d43accadec295e1f09e3b9fba4d3c94dc075105f 100644 (file)
@@ -1,69 +1,53 @@
-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),
@@ -71,54 +55,129 @@ diff -urN mercurial-1.1.2/mercurial/changegroup.py mercurial-1.1.2-nobz2/mercuri
      "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