sapling/mercurial
Mike Edgar 0a639adee5 revlog: special case expanding full-replacement deltas received by exchange
When a delta received through exchange is added to a revlog, it will very
often be expanded to a full text by applying the delta to its base. If
that delta is of a particular form, we can avoid decoding the base revision.
This avoids an exception if the base revision is censored.

For background and broader design of the censorship feature, see:
http://mercurial.selenic.com/wiki/CensorPlan
2015-02-06 01:38:16 +00:00
..
default.d mergetools: drop incorrect quoting of diffargs variables 2015-01-28 02:28:38 +01:00
help help: add web commands to help documentation 2015-02-06 20:27:56 -08:00
hgweb revset: make match function initiate query from full set by default 2015-02-02 22:21:07 +09:00
httpclient httpclient: apply upstream revision da7579b034a4 to fix SSL problems (issue4038) 2013-09-18 14:45:28 -04:00
pure parsers: inline fields of dirstate values in C version 2014-05-27 14:27:41 -07:00
templates hgweb: replace implicit <tbody> with explicit <thead> where appropriate 2015-02-06 15:52:55 +08:00
__init__.py
ancestor.py ancestor: add a way to remove ancestors of bases from a given set 2014-11-14 19:40:30 -08:00
archival.py archive: store number of changes since latest tag as well 2014-12-12 15:27:13 -08:00
base85.c
bdiff.c bdiff: avoid a memory error on malloc failure 2013-10-30 16:03:42 -05:00
bookmarks.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
branchmap.py branchmap: backout 03f077311ea1 2015-01-31 12:42:05 -05:00
bundle2.py bundle2.unbundle20: add compressed() method 2015-02-05 15:56:50 -08:00
bundlerepo.py bundlerepo: basic bundle2 support 2015-02-06 11:27:25 -08:00
byterange.py byterange: remove now-unused sys import 2013-02-09 07:44:22 -06:00
changegroup.py revlog: in addgroup, reject ill-formed deltas based on censored nodes 2015-02-06 00:55:29 +00:00
changelog.py revlog: add __contains__ for fast membership test 2015-02-04 21:25:57 +09:00
cmdutil.py log: fix --follow null parent not to include revision 0 2015-02-06 21:53:39 +09:00
commands.py revset: make match function initiate query from full set by default 2015-02-02 22:21:07 +09:00
commandserver.py cmdserver: include pid of server handling requests in hello message 2014-10-18 12:24:50 +09:00
config.py config: use util.re.compile instead of util.compilere 2014-07-15 14:50:58 -07:00
context.py filectx: use _descendantrev in parents() 2015-02-01 16:33:45 -06:00
copies.py copies: use linkrev for file tracing limit 2015-02-01 16:25:12 -06:00
dagparser.py en-us: labeled 2012-08-17 13:58:18 -07:00
dagutil.py dagutil: fix id/ix typos in docstrings 2014-10-24 16:26:44 -04:00
demandimport.py demandimport: blacklist distutils.msvc9compiler (issue4475) 2014-12-22 17:27:31 -05:00
diffhelpers.c diffhelpers: fix botched return statement from e48d70075d8a 2015-01-28 13:34:20 -05:00
dirs.c dirs: fix leak of iterator in dirs_fromiter 2015-01-27 10:10:04 -05:00
dirstate.py dirstate: ignore negative debug.dirstate.delaywrite values - they crashed it 2015-01-14 01:15:26 +01:00
discovery.py discovery: prevent crash on unknown remote heads with old repo (issue4337) 2014-08-14 16:26:41 -07:00
dispatch.py dispatch: consolidate formatting of ParseErrors 2015-01-26 14:50:36 -05:00
dummycert.pem ssl: on OS X, use a dummy cert to trick Python/OpenSSL to use system CA certs 2014-09-26 02:19:48 +02:00
encoding.py encoding: add hfsignoreclean to clean out HFS-ignored characters 2014-12-16 13:06:41 -05:00
error.py revlog: in addgroup, reject ill-formed deltas based on censored nodes 2015-02-06 00:55:29 +00:00
exchange.py discovery: properly exclude locally known but filtered heads 2015-01-30 21:11:02 +00:00
exewrapper.c exewrapper: adapt for legacy HackableMercurial 2012-08-07 11:04:41 +02:00
extensions.py extensions: support callbacks after another extension loads 2015-02-06 12:07:32 -08:00
fancyopts.py fancyopts: restore use of callable() since it was readded in Python 3.2 2014-06-23 09:24:16 -04:00
filelog.py revlog: add "iscensored()" to revlog public API 2015-01-23 17:01:39 -05:00
filemerge.py help.merge-tools: do not double document merge tools 2015-02-09 23:07:39 -08:00
fileset.py i18n: add i18n comment to error messages of filesets predicates 2014-11-01 02:43:08 +09:00
formatter.py formatter: add general way to switch hex/short functions 2014-10-03 22:20:02 +09:00
graphmod.py dagwalker: drop a useless intermediate variable 2014-10-08 02:43:51 -07:00
hbisect.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
help.py help.merge-tools: do not double document merge tools 2015-02-09 23:07:39 -08:00
hg.py share: replace the bookmarks.shared file with an entry on a new "shared" file 2015-01-11 16:20:15 +01:00
hook.py hook: raise a more specialized HookAbort exception when a hook fails 2014-11-29 19:13:35 -08:00
httpconnection.py httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038) 2013-09-20 09:16:07 -04:00
httppeer.py changegroup.writebundle: provide ui 2015-01-15 14:39:41 -08:00
i18n.py i18n: cache the result of every gettext call 2014-10-17 13:52:10 -04:00
ignore.py ignore: process hgignore files in deterministic order 2012-12-17 15:57:02 -08:00
keepalive.py util: move md5 back next to sha1 and allow to call it without an argument 2014-09-24 16:00:47 +09:00
localrepo.py revset: make match function initiate query from full set by default 2015-02-02 22:21:07 +09:00
lock.py lock: while releasing, unlink lockfile even if the release function throws 2014-10-16 19:15:51 -07:00
lsprof.py profiling: replace '+' markup of nested lines with indentation 2013-02-08 22:54:48 +01:00
lsprofcalltree.py
mail.py mail: actually use the verifycert config value 2014-11-05 18:31:39 +00:00
manifest.py manifest: make lru size configurable 2015-01-23 17:06:03 -08:00
match.py match: remove unnecessary setting of self._always 2014-09-30 15:58:08 -07:00
mdiff.py mdiff: add helper for making deltas which replace the full text of a revision 2015-01-21 16:35:09 -05:00
merge.py merge: mark .hgsubstate as possibly dirty before submerge for consistency 2015-01-30 04:59:05 +09:00
minirst.py help: show all nested subsections of a section with hg help foo.section 2014-10-06 07:35:53 -04:00
mpatch.c mpatch: rewrite pointer overflow checks 2013-12-11 18:33:42 -06:00
namespaces.py namespace: introduce logfmt to show l10n-ed messages for hg log correctly 2015-01-28 22:22:59 +09:00
node.py
obsolete.py obsolete: drop the explicit seek to EOF after append mode open() 2015-01-31 12:54:35 -05:00
osutil.c osutil: fix memory leak of PyBytes of path in statfiles 2015-01-27 10:17:16 -05:00
parser.py parser: allow passing a lookup function to a tokenizer 2014-03-18 17:17:23 -05:00
parsers.c parsers: use k instead of n for PyArg_ParseTuple because python 2.4 is awful 2015-02-04 11:38:30 -05:00
patch.py trydiff: transpose 'if opts.git or losedatafn' with 'if f[12]' 2015-02-06 16:09:43 -08:00
pathencode.c pathencode: eliminate signed integer warnings 2014-02-19 13:11:24 -08:00
pathutil.py pathauditor: check for Windows shortname aliases 2014-12-18 14:18:28 -06:00
peer.py peer: delete double definition of method peer 2012-07-28 22:36:22 +02:00
phases.py localrepo: remove all external users of localrepo.sopener 2015-01-11 00:25:54 +01:00
posix.py darwin: omit ignorable codepoints when normcase()ing a file path 2014-12-16 13:07:10 -05:00
pushkey.py obsolete: add exchange option 2014-10-14 13:26:01 -07:00
pvec.py pvec: use the correct name for an identifier 2013-04-12 17:20:09 -07:00
py3kcompat.py py3kcompat: drop unused export 2014-05-13 15:22:36 -05:00
repair.py repair._bundle: fix traceback for bad config value 2015-01-21 15:54:52 -08:00
repoview.py repoview: remove hiddencache verification 2014-10-06 07:29:40 -07:00
revlog.py revlog: special case expanding full-replacement deltas received by exchange 2015-02-06 01:38:16 +00:00
revset.py revset: specify fullreposet without using spanset factory 2015-01-08 23:46:54 +09:00
scmposix.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
scmutil.py revset: make match function initiate query from full set by default 2015-02-02 22:21:07 +09:00
scmwindows.py config: don't read the same config file twice 2014-09-04 21:36:35 +02:00
setdiscovery.py setdiscovery: document '_takequicksample' 2015-01-07 20:44:20 -08:00
similar.py
simplemerge.py simplemerge: remove dead code 2014-08-07 12:51:45 -04:00
sshpeer.py sshpeer: more thorough shell quoting 2014-12-29 14:27:02 -06:00
sshserver.py changegroup: rename bundle-related functions and classes 2014-09-02 12:11:36 +02:00
sslutil.py sslutil: drop defunct ssl version constants 2015-01-14 15:46:21 -05:00
statichttprepo.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
store.py store: drop unused existing list 2014-04-03 12:59:12 -05:00
strutil.py
subrepo.py subrepo: add 'cat' support for git subrepos 2015-02-01 14:09:31 +01:00
tagmerge.py spelling: fixes from proofreading of spell checker issues 2014-04-17 22:47:38 +02:00
tags.py localrepo: remove all external users of localrepo.opener 2015-01-15 23:17:12 +01:00
templatefilters.py templater: add count template filter, plus tests 2014-09-09 22:14:13 +09:00
templatekw.py templatekw: re-add showtags() to list tags keyword up in online help 2015-02-01 09:36:47 +09:00
templater.py revset: make match function initiate query from full set by default 2015-02-02 22:21:07 +09:00
transaction.py transaction: pass the name of the "undo" journal to the transaction 2015-01-16 19:35:04 -08:00
treediscovery.py discovery: stop using nodemap for membership testing 2013-11-15 23:28:43 -05:00
ui.py ui: separate option to show prompt echo, enabled only in tests (issue4417) 2014-10-21 23:16:46 +09:00
unionrepo.py revlog: add "iscensored()" to revlog public API 2015-01-23 17:01:39 -05:00
url.py https: support tls sni (server name indication) for https urls (issue3090) 2015-01-12 18:01:20 -07:00
util.h util: add getbefloat64 2015-02-03 13:17:21 -05:00
util.py messages: quote "hg help" hints consistently 2015-01-17 22:01:14 -02:00
verify.py verify: report censored nodes if configured policy is abort 2014-10-14 16:16:04 -04:00
win32.py win32: backout 6891e5c66508 2014-05-03 10:33:54 +02:00
windows.py windows: adjust doc string and comments of posixfile() 2015-02-06 23:40:46 +01:00
wireproto.py localrepo: remove all external users of localrepo.sopener 2015-01-11 00:25:54 +01:00
worker.py cleanup: avoid _ for local unused tmp variables - that is reserved for i18n 2014-08-15 16:20:47 +02:00