sapling/fastannotate
Jun Wu d3424dd296 fastannotate: work better with remotefilelog
Summary:
fastannotate will tell remotefilelog what nodes of a file is already known in
linelog + revmap, so remotefilelog will not prefetch those files. Previously,
fastannotate either prevents all prefetching or allows all prefetching, which
is sub-optimal.

fastannotate could now donate its sshpeer to remotefilelog, so remotefilelog
won't need to start another one (assuming they can share a same sshpeer,
could be turned off via config options). This should reduce run time if SSH
handshake is expensive.

fastannotate could now also steal sshpeer from remotefilelog, so fastannotate
won't need to start another one. Combined with the above change, there would
always be only one sshpeer shared by fastannotate and remotefilelog.

Test Plan: Modified existing tests

Reviewers: #sourcecontrol, durham

Reviewed By: durham

Subscribers: ikostia, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D4325382

Signature: t1:4325382:1481933531:39d6344b2c076fbbff1f07997cd268e7cee25e80
2016-12-19 12:13:51 -08:00
..
__init__.py fastannotate: work better with remotefilelog 2016-12-19 12:13:51 -08:00
commands.py fastannotate: add a forcetext option 2016-12-14 16:44:45 +00:00
context.py fastannotate: convert revision number to hex 2016-12-14 16:46:28 +00:00
error.py fastannotate: move exception classes to error.py 2016-09-08 14:47:49 +01:00
formatter.py fastannotate: support -r wdir() 2016-10-21 20:50:37 +01:00
protocol.py fastannotate: work better with remotefilelog 2016-12-19 12:13:51 -08:00
revmap.py fastannotate: add a method to quickly get the last node of the revmap 2016-10-29 19:19:18 +01:00
support.py fastannotate: work better with remotefilelog 2016-12-19 12:13:51 -08:00