Mercurial > hg > mercurial-crew-with-dirclash
view mercurial/changegroup.py @ 3538:9b52239dc740
save settings from untrusted config files in a separate configparser
This untrusted configparser is a superset of the trusted configparser,
so that interpolation still works.
Also add an "untrusted" argument to ui.config* to allow querying
ui.ucdata.
With --debug, we print a warning when we read an untrusted config
file, and when we try to access a trusted setting that has one value
in the trusted configparser and another in the untrusted configparser.
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Thu, 26 Oct 2006 19:25:45 +0200 |
parents | fe1689273f84 |
children | 025f68f22ae2 |
line wrap: on
line source
""" changegroup.py - Mercurial changegroup manipulation functions Copyright 2006 Matt Mackall <mpm@selenic.com> This software may be used and distributed according to the terms of the GNU General Public License, incorporated herein by reference. """ from i18n import gettext as _ from demandload import * demandload(globals(), "struct util") def getchunk(source): """get a chunk from a changegroup""" d = source.read(4) if not d: return "" l = struct.unpack(">l", d)[0] if l <= 4: return "" d = source.read(l - 4) if len(d) < l - 4: raise util.Abort(_("premature EOF reading chunk" " (got %d bytes, expected %d)") % (len(d), l - 4)) return d def chunkiter(source): """iterate through the chunks in source""" while 1: c = getchunk(source) if not c: break yield c def genchunk(data): """build a changegroup chunk""" header = struct.pack(">l", len(data)+ 4) return "%s%s" % (header, data) def closechunk(): return struct.pack(">l", 0)