Fix
issue1738 for strip too.
I see no reason to open every touched file at once.
Make patch.diff filelog cache LRU of 20 files. Fixes
issue1738.
20 files is as fast as 200 for hg diff -r 28015:30103 of mozilla-central.
Ideally we'd use util.lrucachefunc, but the interface doesn't quite work.
url: fix use of non-int port in https connections via proxy
Complements
eef406165507 (
issue1725).
test-fetch: fix non-portable sed regex.
(s/...\+/.../ appears to be a GNU-ism: this test broke on OS X and
NetBSD. Changing \+ to * fixes it, although that is a slightly less
strict regex.)
branch heads: optimise computation of branch head cache (
issue1734)
The previous branch heads cache implementation iterated all ancestors
for each new revision in the repository, causing a massive slowdown on
cloning larger repositories.
cmdutil: fall back to filename if glob expand has errors
On Windows, Mercurial tries to glob expand provided filenames as a
convenience to the user. Unfortunately, there are valid filenames
which are not valid glob patterns. In those cases, we should fallback
to the original provided filename.
inotify: server: explicitely ignore events in subdirs of .hg/ (
issue1735)
inotify: fix
issue1375, add a test.
The biggest problem was the data structure, which did not allow changing
a file into a directory or vice versa. This problem is fixed by
b55d44719b47.
The walk() method also had an issue in this case:
- we know 'path' as a directory. inotify server sleeps.
- 'path' is deleted
- 'path' is recreated as a file
- the server catches up here, and see the deletion. it instantiates a scan(),
which in its turn calls for walk(repo, path).
- walk() then assumes that 'path' is a directory and calls os.listdir on it,
which raises an OSError(errno.ENOTDIR)
Catch the error, and yield the file instead of the directory contents.