sapling/edenscm/mercurial
Mark Thomas 02023b0972 visibility: move to changelog
Summary:
If the visibility state file is read after the changelog is opened, the visibleheads
may have been modified to point to a commit that had been added to the changelog
afterwards, which means the commit is not accessible to the current process.

We need to ensure that the visibleheads file is read just before the changelog is
opened.  The safest way to handle this is to make the visibleheads tracking part
of the changelog object.  Whenever we open the changelog, we get a correctly
up-to-date view of the visible heads.

Reviewed By: quark-zju

Differential Revision: D15468483

fbshipit-source-id: 94d6b3e6db5211d7346f4a244f182383970fcb74
2019-05-28 02:40:08 -07:00
..
cext osutil: detect fuse on Linux 2019-02-06 18:34:30 -08:00
cffi flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
commands commands: help text for uncommit, unamend 2019-05-23 21:39:22 -07:00
help help: move help docs to Python code 2019-05-13 16:23:40 -07:00
hgweb subrepo: remove subrepo support 2019-03-11 10:43:55 -07:00
httpclient codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
pure codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
rust bindings: properly handle builtin configs 2019-05-24 16:11:06 -07:00
templates templates: move builtin styles to code 2019-05-16 09:49:02 -07:00
thirdparty codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
__init__.py codemod: import from the edenscm package 2019-01-29 17:25:32 -08:00
ancestor.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
archival.py archive: prefetch remotefilelog files before executing archive 2019-03-14 14:57:50 -07:00
bdiff.c codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
bdiff.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
bitmanipulation.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
bookmarks.py bookmarks: remove branch name collision check 2019-03-08 16:33:20 -08:00
branchmap.py branchmap: drop revbranchcache and other unused logic 2019-02-22 21:02:41 -08:00
bundle2.py pushrebase: don't create transaction during pushkey 2019-04-26 15:42:27 -07:00
bundlerepo.py pushrebase: fix pushrebase for treeonly lfs pushes 2019-03-29 13:57:54 -07:00
byterange.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
changegroup.py manifest: remove readfast, replace readdelta 2019-05-24 10:00:49 -07:00
changelog.py visibility: move to changelog 2019-05-28 02:40:08 -07:00
chgserver.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
cmdutil.py template: remove manifest rev number from templates 2019-05-22 08:37:10 -07:00
color.py ui: add labelled prefixes to ui.write 2019-05-09 06:55:11 -07:00
commandserver.py commandserver: import mercurial.__version__ from the right place 2019-02-05 09:47:34 -08:00
compat.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
config.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
configitems.py edit: save editor text for 2 weeks 2019-05-15 17:20:13 -07:00
connectionpool.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
context.py manifest: remove manifestdelta optimization 2019-05-24 10:00:49 -07:00
copies.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
crecord.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
dagop.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
dagparser.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
dagutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
debugcommands.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
destutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
dirstate.py dirstate: remove hgignore features 2019-04-29 18:22:37 -07:00
dirstateguard.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
discovery.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
dispatch.py blackbox: clean up blackbox logging and log more during rage 2019-04-23 02:48:50 -07:00
drawdag.py mutation: prefix predecessor hashes with hashing scheme 2019-03-27 04:49:12 -07:00
dummycert.pem codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
eden_dirstate_map.py subrepo: remove subrepo support 2019-03-11 10:43:55 -07:00
eden_dirstate.py subrepo: remove subrepo support 2019-03-11 10:43:55 -07:00
eden_update.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
edenfs.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
EdenThriftClient.py Removing read to .eden/symlinks on Eden Windows Thrift client 2019-05-15 09:23:00 -07:00
encoding.py encoding: alias cp65001 to utf-8 on Windows 2019-02-11 09:16:02 -08:00
entrypoint.py chg: make it incompatible with upstream chg server 2019-02-08 16:12:53 -08:00
error.py ui: add labelled prefixes to ui.write 2019-05-09 06:55:11 -07:00
exchange.py remove accidentally added lines 2019-04-10 00:45:56 -07:00
executionmodel.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
extensions.py extension: support inlined extensions 2019-04-29 13:52:19 -07:00
fancyopts.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
filelog.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
filemerge.py config: enable merge.printcandidatecommmits 2019-03-08 19:55:46 -08:00
fileset.py tracing: record lfs download size 2019-05-03 13:09:33 -07:00
formatter.py templates: move builtin styles to code 2019-05-16 09:49:02 -07:00
fscap.py fscap: mark "fuse.ntfs" (ntfs-3g) as not supporting symlinks 2019-02-06 18:34:30 -08:00
graphmod.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
hbisect.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
help.py help: move help docs to Python code 2019-05-13 16:23:40 -07:00
helptext.py config: move default.d/mergetools.rc to code 2019-05-16 17:31:26 -07:00
hg.py tracing: add various tracing across the code base 2019-03-25 19:31:13 -07:00
hintutil.py ui: add labelled prefixes to ui.write 2019-05-09 06:55:11 -07:00
hook.py hook: make "mercurial" module available for Python hooks 2019-03-08 16:04:38 -08:00
httpconnection.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
httppeer.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
i18n.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
identity.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
interpreter.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
json.py codemod: import from the edenscm package 2019-01-29 17:25:32 -08:00
keepalive.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
localrepo.py visibility: move to changelog 2019-05-28 02:40:08 -07:00
lock.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
lsprof.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
lsprofcalltree.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mail.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
manifest.py manifest: remove readfast, replace readdelta 2019-05-24 10:00:49 -07:00
match.py ignore: make debugignore support gitignore 2019-05-15 02:05:27 -07:00
mdiff.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
merge.py worker: fix string formatting issue 2019-05-06 14:46:01 -07:00
mergeutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
metrics.py metrics: make ui.metrics.gauge log to the sampling extension 2019-03-20 22:49:18 -07:00
minirst.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mpatch.c codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mpatch.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mutation.py tracing: add tracing for obsolescence computation 2019-05-01 11:21:07 -07:00
namespaces.py remotenames: add markaccessed method to the API 2019-04-30 09:26:11 -07:00
node.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
obsolete.py tracing: add tracing for obsolescence computation 2019-05-01 11:21:07 -07:00
obsutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
parser.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
patch.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
pathutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
peer.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
perftrace.py tracing: record lfs download size 2019-05-03 13:09:33 -07:00
phases.py tracing: add various tracing across the code base 2019-03-25 19:31:13 -07:00
policy.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
posix.py posix: detect fuse.ntfs on Linux 2019-02-06 18:34:30 -08:00
profiling.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
progress.py progress: reduce overhead when a nested bar is used in a loop 2019-03-29 20:32:22 -07:00
pushkey.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
pvec.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
pycompat.py posix: detect fuse.ntfs on Linux 2019-02-06 18:34:30 -08:00
rcutil.py config: move default.d/mergetools.rc to code 2019-05-16 17:31:26 -07:00
registrar.py registrar: document 'subonly' option to the command decorator 2019-04-11 07:49:21 -07:00
repair.py visibility: update visibility when commits are modified 2019-03-08 03:05:58 -08:00
replay.py replay: only expect timestamp and not timezone 2019-02-20 08:47:25 -08:00
repository.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
repoview.py visibility: update visibility when commits are modified 2019-03-08 03:05:58 -08:00
revlog.py revlog: implement more efficient not-contains check 2019-05-23 14:18:46 -07:00
revset.py revset: use path instead of relpath in follow() 2019-04-24 17:33:43 -07:00
revsetlang.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
rewriteutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
scmposix.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
scmutil.py ui: add labelled prefixes to ui.write 2019-05-09 06:55:11 -07:00
scmwindows.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
server.py subrepo: remove subrepo support 2019-03-11 10:43:55 -07:00
setdiscovery.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
similar.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
simplemerge.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
smartset.py smartset: fix a possible StopIteration exception 2019-04-18 19:32:54 -07:00
sparse.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
sshpeer.py metrics: add metrics about fetching remote data 2019-03-20 22:49:18 -07:00
sshserver.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
sslutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
statichttprepo.py branchmap: drop revbranchcache and other unused logic 2019-02-22 21:02:41 -08:00
statprof.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
store.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
streamclone.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
tagmerge.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
tags.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
templatefilters.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
templatekw.py visibility: use x graphnode for invisible commits 2019-05-16 02:35:48 -07:00
templater.py template: remove manifest rev number from templates 2019-05-22 08:37:10 -07:00
transaction.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
treedirstate.py blackbox: clean up blackbox logging and log more during rage 2019-04-23 02:48:50 -07:00
treediscovery.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
treestate.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
txnutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
ui.py blackbox: add util.log for blackbox logging when no ui object is available 2019-05-28 02:40:07 -07:00
unionrepo.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
upgrade.py manifest: drop manifestv2 support 2019-03-26 13:32:45 -07:00
url.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
urllibcompat.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
util.py blackbox: add util.log for blackbox logging when no ui object is available 2019-05-28 02:40:07 -07:00
verify.py manifest: remove readfast, replace readdelta 2019-05-24 10:00:49 -07:00
vfs.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
visibility.py visibility: move to changelog 2019-05-28 02:40:08 -07:00
win32.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
windows.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
wireproto.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
worker.py tracing: record how many bytes are written to disk 2019-05-03 13:09:34 -07:00