localrepo: rename in-memory tag cache instance attributes (
issue548).
- self.tagscache to self._tags
- self._tagstypecache to self._tagtypes
- this is for consistency, readability, privacy, and to subtly hint
that "caching" is something else
localrepo: factor _findtags() out of tags() (
issue548).
This makes in-memory caching the sole responsibility of localrepo,
eliminating some localrepo code that was duplicated in mq and
bookmarks.
test-tags: enhance the test to probe tag caching better (
issue548).
- give detailed dumps of .hgtags and localtags content
- repeat some query operations to expose cache bugs
- ensure that rollback/strip undo tagging operations
test-tags: clarify test output; simplify test script a bit (
issue548).
- use simpler way ('hg id') to get current changeset id
- add 'echo' statements to guide the eye when reading output
- add some more output to clarify the state of .hgtags
- drop '-d' option from every commit/tag, since run-tests.py
does this (although with a different timestamp, so changeset
ids differ)
for calls expecting bool args, pass bool instead of int
str.splitlines and email.message.as_string both expect a bool argument
defaulting at False: replace f(1) by f(True) and f(0) by f()
store: eliminate reference cycle in fncachestore
no reference to self in fncacheopener
Inspired by Adrian Buehlmann
win32mbcs: add special wrapper for osutil.listdir().
osutil.listdir() may misinterpret 0x5c of MBCS 2nd. byte as path
separator. New wrapper prevents this by adding it beforehand.
win32mbcs: wrapper supports keyword arguments and dict result.
The keyword arguments are also decoded before calling original.
And dict of return value is also encoded back.
gendoc: fall back to pure modules if C extensions are not available (
issue1711)
Don't copy hidden files/directories during `setup.py install`
This is useful if a copy of Mercurial is stored in a Subversion repository
so that the .svn directories don't get copied.
commands: hide deprecated commands.
A command is considered deprecated if the word "DEPRECATED" is found
in the doc string. Such commands are hidden from non-verbose help.
hgignore.5.txt: improved description of matching
Improved the description of the matching behavior used with .hgignore.
Made some minor language improvements.
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.