sapling/mercurial
Durham Goode b2040ce2e5 repair: refactor broken linkrev collection
This refactors broken linkrev collection such that manifest collection is in a
separate function. This allows extensions to replace the manifest collection
with a non-revlog oriented version.

I considered moving the collect changes function onto the manifestlog itself, so
it would be behind the abstraction, but since the store we're building doesn't
even have the concept of strip, embeding that concept in the manifestlog api
seemed odd.

Differential Revision: https://phab.mercurial-scm.org/D291
2017-08-08 17:25:38 -07:00
..
cext parsers: fix invariant bug in find_deepest (issue5623) 2017-07-14 13:48:17 +02:00
cffi cffi: remove superfluous "if True" blocks 2017-05-02 21:45:10 +09:00
default.d mergetools.rc: find OSX FileMerge in the new location inside Xcode 4.3 2015-10-16 11:37:34 +02:00
help sparse: add a requirement when a repository uses sparse (BC) 2017-07-17 11:45:38 -07:00
hgweb revset: pass repo when passing ui 2017-07-15 15:51:57 -07:00
httpclient httpclient: don't use mutable default argument value 2017-03-14 23:49:25 -07:00
pure cffi: split modules from pure 2017-05-02 21:15:31 +09:00
templates template: rename troubles templatekw into instabilities 2017-08-02 11:32:25 +02:00
__init__.py selector2: vendor selector2 library 2017-07-14 20:19:46 -07:00
ancestor.py cleanup: use set literals 2017-02-10 16:56:29 -08:00
archival.py archive: add an experimental config to control the metadata file template 2017-07-17 00:49:29 -04:00
bdiff.c bdiff: don't check border condition in loop 2016-11-20 16:56:21 -08:00
bdiff.h bdiff: split bdiff into cpy-aware and cpy-agnostic part 2016-07-13 10:46:26 +02:00
bitmanipulation.h bitmanipulation: add missing include of string.h 2017-06-02 10:32:39 -07:00
bookmarks.py bookmark: deprecate direct del of a bookmark value 2017-07-10 21:49:37 +02:00
branchmap.py cachevfs: migration the revbranchcache to 'cachevfs' 2017-07-15 22:42:50 +02:00
bundle2.py bundle2: convert ints to strings using pycompat.bytestring() 2017-07-24 11:16:32 -04:00
bundlerepo.py configitems: register the 'bundle.mainreporoot' config 2017-06-30 03:31:26 +02:00
byterange.py pycompat: switch to util.urlreq/util.urlerr for py3 compat 2016-04-06 23:22:12 +00:00
changegroup.py changegroup: more **kwargs 2017-07-24 11:28:59 -04:00
changelog.py revlog: rename constants (API) 2017-05-17 19:52:18 -07:00
chgserver.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
cmdutil.py status: avoid recursing into ignored directory with "--terse u" 2017-07-24 10:34:32 +02:00
color.py color: remove warnings if term is not formatted (==dumb or !ui.formatted()) 2017-08-03 12:40:48 -07:00
commands.py pushvars: move fb extension pushvars to core 2017-07-31 09:59:42 +05:30
commandserver.py commandserver: do not handle EINTR for selector.select 2017-07-16 11:17:00 -07:00
compat.h compat: define ssize_t as int on 32bit Windows, silences C4142 warning 2016-07-15 23:54:56 +09:00
config.py config: make config.items() return a copy 2017-05-18 13:38:37 -07:00
configitems.py configitems: register the 'ui.color' config 2017-07-15 14:14:53 +02:00
context.py evolution: rename bumped to phase-divergent 2017-08-01 18:07:34 +02:00
copies.py merge: avoid superfluous filemerges when grafting through renames (issue5407) 2016-10-25 21:01:53 +02:00
crecord.py patch: rewrite reversehunks (issue5337) 2017-06-20 23:22:38 -07:00
dagop.py followlines: join merge parents line ranges in blockdescendants() (issue5595) 2017-07-05 13:54:53 +02:00
dagparser.py dagparser: make print statement in doctest Py3 portable 2017-06-15 13:32:02 -04:00
dagutil.py dagutil: use absolute_import 2015-08-08 19:04:09 -07:00
debugcommands.py win32: copy-edit debugssl messages to match prevailing style 2017-07-17 13:22:59 -05:00
destutil.py show: implement "stack" view 2017-07-01 22:38:42 -07:00
dirstate.py dirstate: simplify dirstate's __iter__ 2017-08-08 18:53:13 +00:00
dirstateguard.py rebase: use one dirstateguard for when using rebase.singletransaction 2017-07-20 01:30:41 -07:00
discovery.py checkheads: use a "lazyancestors" object for allfuturecommon 2017-06-05 13:44:15 +01:00
dispatch.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07: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 py3: add utility to forward __str__() to __bytes__() 2017-06-24 13:48:04 +09:00
error.py py3: implement __bytes__() on most of our exception classes 2017-06-01 22:43:24 +09:00
exchange.py exchange: access requirements on repo instead of peer 2017-08-05 15:15:20 -07:00
exewrapper.c exewrapper: prefer HackableMercurial python if availbale 2017-03-13 12:44:13 -07:00
extensions.py extensions: attempt to use non-deprecated inspect method 2017-07-25 22:48:46 -04:00
fancyopts.py py3: slice over bytes to prevent getting it's ascii value 2017-06-25 08:36:51 +05:30
filelog.py filelog: fix parsemeta docstring 2017-05-02 22:39:14 -07:00
filemerge.py filemerge: move decorator definition for internal merge tools to registrar 2017-08-06 01:13:57 +09:00
fileset.py py3: use pycompat.bytestr so that we don't get ascii values 2017-05-29 16:21:15 +05:30
formatter.py formatter: proxy fm.context() through converter 2017-06-26 09:33:01 +09:00
graphmod.py dagop: split module hosting DAG-related algorithms from revset 2016-10-16 18:03:24 +09:00
hbisect.py hbisect: avoid shadowing a variable in a list comprehension 2016-11-10 16:33:23 -05:00
help.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
hg.py py3: use bytes IO to write sample hgrc 2017-08-03 00:45:02 +09:00
hook.py py3: convert keys of kwargs back to bytes using pycompat.byteskwargs() 2017-06-17 15:29:26 +05:30
httpconnection.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
httppeer.py httppeer: make several instance attributes internal (API) 2017-08-06 17:47:41 -07:00
i18n.py py3: use pycompat.fsencode() to convert __file__ to bytes 2017-02-20 18:40:42 +05:30
keepalive.py keepalive: send HTTP request headers in a deterministic order 2017-04-13 18:04:38 -07:00
localrepo.py repo: skip invalidation of changelog if it has 'delayed' changes (API) 2017-07-19 13:34:06 -07:00
lock.py lock: avoid unintentional lock acquisition at failure of readlock 2017-05-01 19:59:13 +09:00
lsprof.py lsprof: use print function 2016-01-02 11:40:53 -08:00
lsprofcalltree.py lsprofcalltree: use print function 2016-01-02 11:45:29 -08:00
mail.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
manifest.py manifest: apply checkambig=True only for root 00manifest.i 2017-06-30 01:47:48 +09:00
match.py match: expose some data and functionality to other modules 2017-08-02 15:48:57 -07:00
mdiff.py py3: use pycompat.strkwargs() to convert kwargs keys to str 2017-06-27 00:23:32 +05:30
merge.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
mergeutil.py checkunresolved: move to new package to help avoid import cycles 2016-11-21 21:31:45 -05:00
minirst.py minirst: look for column delimiters using slices instead of indicies 2017-05-28 15:47:43 -04:00
mpatch.c mpatch: raise MemoryError instead of mpatchError if lalloc() failed 2016-08-07 10:06:56 +09:00
mpatch.h mpatch: raise MemoryError instead of mpatchError if lalloc() failed 2016-08-07 10:06:56 +09:00
namespaces.py namespaces: record and expose whether namespace is built-in 2017-06-24 14:52:15 -07:00
node.py revlog: add support for partial matching of wdir node id 2016-08-19 18:26:04 +09:00
obsolete.py obsolete: use bytes() instead of str() so the node is bytes on py3 2017-07-24 10:37:39 -04:00
obsutil.py obsutil: defend against succsmarkers() returning None 2017-07-24 11:29:51 -04:00
parser.py parser: preserve order of keyword arguments 2017-04-09 11:58:27 +09:00
patch.py patch: update copying of dict keys and values to work on Python 3 2017-07-24 14:42:55 -04:00
pathutil.py vfs: allow to pass more argument to audit 2017-07-11 12:27:58 +02:00
peer.py py3: convert to next() function 2016-05-16 21:30:53 +00:00
phases.py phases: remove trace of addednodes in the 'phase-heads' handling 2017-07-13 21:10:55 +02:00
policy.py policy: remove unused policynoc and policynocffi constants 2017-05-02 21:45:48 +09:00
posix.py chmod: create a new file when flags are set on a hardlinked file 2017-04-26 16:05:22 +02:00
profiling.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
progress.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
pushkey.py pushkey: use absolute_import 2015-08-08 19:57:27 -07:00
pvec.py base85: proxy through util module 2017-04-26 21:56:47 +09:00
pycompat.py pycompat: verify sys.argv exists before forwarding it (issue5493) 2017-03-07 13:24:24 -05:00
rcutil.py osutil: proxy through util (and platform) modules (API) 2017-04-26 22:26:28 +09:00
registrar.py filemerge: move decorator definition for internal merge tools to registrar 2017-08-06 01:13:57 +09:00
repair.py repair: refactor broken linkrev collection 2017-08-08 17:25:38 -07:00
repoview.py repoview: remove special casing of "requirements" 2017-06-08 20:28:13 -07:00
revlog.py revlog: use struct.Struct instances for slight performance wins 2017-07-10 16:41:13 -04:00
revset.py revset: add experimental ancestors/descendants relation subscript 2017-07-08 13:15:17 +09:00
revsetlang.py revset: add experimental relation and subscript operators 2017-07-08 13:07:59 +09:00
scmposix.py osutil: proxy through util (and platform) modules (API) 2017-04-26 22:26:28 +09:00
scmutil.py debugobsolete: also report the number of obsoleted changesets 2017-07-16 02:33:14 +02:00
scmwindows.py osutil: proxy through util (and platform) modules (API) 2017-04-26 22:26:28 +09:00
selectors2.py selector2: vendor selector2 library 2017-07-14 20:19:46 -07:00
server.py py3: simply use b'%d\n' to format pid in server.py 2017-06-01 23:05:29 +09:00
setdiscovery.py setdiscovery: improves logged message 2017-06-10 18:47:09 +01:00
similar.py bdiff: proxy through mdiff module 2017-04-26 22:03:37 +09:00
simplemerge.py py3: convert kwargs' keys' to str using pycompat.strkwargs() 2017-06-22 03:16:16 +05:30
smartset.py smartset: fix generatorset.last() to not return the first element (issue5609) 2017-06-27 23:50:22 +09:00
sparse.py sparse: treat paths as cwd-relative 2017-08-04 05:38:22 -07:00
sshpeer.py exchange: drop support for lock-based unbundling (BC) 2017-08-06 17:44:56 -07:00
sshserver.py py3: replace os.environ with encoding.environ (part 2 of 5) 2016-12-18 01:46:39 +05:30
sslutil.py sslutil: inform the user about how to fix an incomplete certificate chain 2017-07-12 18:37:13 -04:00
statichttprepo.py statichttprepo: implement wlock() (issue5613) 2017-07-29 12:50:56 -07:00
statprof.py cleanup: use set literals 2017-02-10 16:56:29 -08:00
store.py vfs: rename auditvfs to proxyvfs 2017-07-07 23:40:00 +09:00
streamclone.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
subrepo.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
tagmerge.py tagmerge: use workingfilectx to write merged tags 2017-07-11 16:48:15 -07:00
tags.py cachevfs: migration the tags fnode cache to 'cachevfs' 2017-07-15 23:30:25 +02:00
templatefilters.py json: pass formatting options recursively 2017-06-09 21:33:15 +09:00
templatekw.py template: rename troubles templatekw into instabilities 2017-08-02 11:32:25 +02:00
templater.py revset: pass repo when passing ui 2017-07-15 15:51:57 -07:00
transaction.py transaction: apply checkambig=True only on limited files for similarity 2017-07-04 23:13:47 +09:00
treediscovery.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
txnutil.py txnutil: factor out the logic to read file in according to HG_PENDING 2017-02-21 01:20:59 +09:00
ui.py ui: refactor extractchoices so it doesn't break on Python 3 2017-07-24 13:48:32 -04:00
unionrepo.py configitems: register the 'bundle.mainreporoot' config 2017-06-30 03:31:26 +02:00
upgrade.py codemod: simplify nested withs 2017-07-13 18:31:35 -07:00
url.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
util.py py3: convert arbitrary exception object to byte string more reliably 2017-08-03 23:02:32 +09:00
verify.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
vfs.py vfs: allow to pass more argument to audit 2017-07-11 12:27:58 +02:00
win32.py win32: add a method to trigger the Crypto API to complete a certificate chain 2017-03-29 23:45:23 -04:00
windows.py windows: do not close stdout on flush() failure 2017-06-05 23:36:35 +09:00
wireproto.py codemod: register core configitems using a script 2017-07-14 14:22:40 -07:00
worker.py py3: pass str in os.sysconf() 2017-05-31 23:42:58 +05:30