Commit Graph

2466 Commits

Author SHA1 Message Date
Durham Goode
cf9d751d8a Add remotefilelog debug commands 2013-09-17 20:15:08 -07:00
Durham Goode
6a8a2f0e58 Fix rare issue with broken linknodes in the ancestormap 2013-09-16 18:46:24 -07:00
Durham Goode
f480c7deef Remove remotefilectx.__str__
Recent changes to Mercurial mean this is implemented by a base class.
2013-09-11 12:29:01 -07:00
Durham Goode
4ce55b8a0f Add log file warning 2013-09-11 10:27:56 -07:00
Durham Goode
6781d80d25 Fix local pulls to send file data 2013-09-09 11:44:08 -07:00
Durham Goode
6acb5968a1 Clean up empty cache files if we encounter them 2013-09-09 11:23:03 -07:00
Durham Goode
3619a1911d Cut down number of sys calls during filelog reads
When the cache is stored on a filesystem, excessive stat calls can slow
mercurial updates down dramatically. This reduces it to a single open call for
the cache location and if that fails, a single open call for the local location.
2013-09-09 10:23:29 -07:00
Durham Goode
c17ec690c9 Change cache key to use a two character prefix for directories.
Some file systems can't handle having a ton of files/directories inside a
directory, so this splits up all our files amongst directories.
2013-09-06 13:28:15 -07:00
Durham Goode
4d70ed4fce Fix a bug with status prefetching in merge scenarios 2013-09-04 19:07:01 -07:00
Durham Goode
1391bcc1c6 Add a test suite 2013-09-03 20:03:43 -07:00
Durham Goode
29ba0e9bc1 If cacheprocess is not set, always use the fallback
This allows tests to run without a memcache process.
2013-09-03 20:03:24 -07:00
Durham Goode
4a5c8d437d Fix hg diff when fnode is None 2013-09-03 11:39:16 -07:00
Durham Goode
5ec22c7093 Prevent verify from checking filelogs 2013-08-30 15:43:22 -07:00
Durham Goode
b685d98f57 Prefetch revisions before a diff 2013-08-30 11:27:09 -07:00
Durham Goode
4edeed8417 Prefetch lookup set during hg status 2013-08-30 11:09:19 -07:00
Durham Goode
3c879ed1a8 Enable efficient pulling between shallow repos 2013-08-28 18:51:01 -07:00
Durham Goode
d0738cc010 Make cache files owned by uid/svnuser 2013-08-20 12:59:33 -07:00
Durham Goode
96bbab8f7a Fix shared cache permissions to be g+w 2013-08-15 10:59:11 -07:00
Durham Goode
f68d704603 Enable hg gc from outside a repo 2013-08-15 10:56:25 -07:00
Durham Goode
bf7491936d Fix hg diff with added or moved files.
A workingctx produces manifest entries with nullid+'a' or nullid+'m'
for any added or modified files. The extension was trying to prefetch
these but they didn't exist and caused an error. Luckily they are length
42 so we can check for them and not prefetch them.
2013-07-24 22:16:50 -07:00
Durham Goode
a5828ce7a3 Add newline to end of debug output 2013-07-24 18:49:14 -07:00
Durham Goode
9df6e83354 Prevent 'running ssh...' in stdout when run with -v 2013-07-24 13:20:13 -07:00
Durham Goode
3cbc732b42 Fix fallbackrepo not being present during the clone after update.
Make debug message get sent to stderr instead of stdout.
2013-07-23 19:06:40 -07:00
Durham Goode
6675d8181b Make smartlog more robust on crazy repos
If the repo had a lots of heads, the ancestor revset would previously cause
a stack overflow in the revset parser. I changed it to not use revsets at all.

If the repo had a merge, the ancestor walk code was sometimes adding the
entire repo to the rev list.  I changed it to only add nodes that are > the
common ancestor.

Added smartlog to the default pager attend list.
2013-07-20 20:30:11 -07:00
Durham Goode
77d31b12e4 Add hit/miss ratio to debug output 2013-07-01 17:37:55 -07:00
Durham Goode
9642a8a2d6 Add remotefilelog.fallbackrepo config 2013-07-01 16:28:34 -07:00
Durham Goode
58ff8f91f6 Prefetch before copy tracing 2013-07-01 15:35:08 -07:00
Durham Goode
027a1d4ab8 Set umask before writing files to shared cache 2013-06-28 17:12:20 -07:00
Durham Goode
8e037436cb Add gc command for cleaning up the cache 2013-06-28 15:57:15 -07:00
Durham Goode
6e3494bf98 Add incoming hook for producing file blobs 2013-06-27 15:14:22 -07:00
Durham Goode
1ac9b8cbc1 Move requirement string to a variable 2013-06-26 14:37:59 -07:00
Durham Goode
3e6b7810df Override bundle10.generatefiles instead of prune 2013-06-25 13:26:24 -07:00
Durham Goode
bb32b111bf Change contract between extension and memcache process to allow arbitrary key lengths and customizable cache paths 2013-06-25 11:38:48 -07:00
Durham Goode
6536d87bc0 Prevent pull from sending files to shallow clones 2013-06-23 13:50:22 -07:00
Durham Goode
84b481de56 Add option for server cache location.
Change _callstream wrapper to only run on client.
2013-06-21 13:22:18 -07:00
Durham Goode
f16a3a4134 Rename to remotefilelog since shallowrepo is already taken 2013-06-21 10:14:29 -07:00
Durham Goode
f39da261ad Install to site-packages/ instead of site-packages/hgext 2013-06-20 14:56:01 -07:00
Durham Goode
1b3fc0b767 Disable smartlog colors in other log commands 2013-06-20 13:21:06 -07:00
Durham Goode
29a883af7c Rename package to fbhgext 2013-06-20 12:57:57 -07:00
Durham Goode
26387ef0c1 Initial commit: fbamend, smartlog 2013-06-20 12:16:36 -07:00
Durham Goode
ff1e4bb8e7 Fix bundle revision ordering.
Implement remotefilectx.ancestor
2013-06-12 17:56:18 -07:00
Durham Goode
78ce8beeb3 Add make/setup files. Move source into a subdirectory. 2013-06-12 13:42:44 -07:00
Durham Goode
7d592e55d3 Comment on the use of tags 2013-06-11 17:24:35 -07:00
Durham Goode
a3f328265c Handle case of filenodes having multiple linknodes over time. 2013-06-11 16:41:55 -07:00
Durham Goode
a10ced9c1c Refactor client server interaction to not use a custom hello.
Previously we replaced the hello command with hello_shallow to communicate
the shallow capability to the server. This isn't particularly mercurialy,
so now we create a *_shallow command for each command that could be shallow.
2013-06-11 13:34:39 -07:00
Durham Goode
4a768a3915 Use memcache as the store 2013-06-07 15:13:58 -07:00
Durham Goode
c116aa3a58 Major refactor and bug fixes
Refactors a lot of the behavior into separate classes, like shallowrepo,
shallowbundler, etc. This maps more closely to the existing classes in
mercurial. Also we no longer replace several classes (like filelog, and
filectx).

Fix a ton of bugs found by running the tests. Examples: hg log foo.txt,
unbundling, hg log -G foo.txt, annotate, etc.
2013-05-20 15:03:07 -07:00
Durham Goode
4b5967096a Wrap filectx and filelog 2013-05-17 18:08:53 -07:00
Durham Goode
ef5a6f59b4 Include ancestors with file contents 2013-05-14 19:48:05 -07:00
Durham Goode
20e59af1e6 Add incoming changegroup filelogs to the localdata store 2013-05-06 17:50:36 -07:00