internals: document that "branches" is a legacy wire command
Modern clients use a different discovery mechanism.
match: make subinclude construction lazy
The matcher subinclude functionality allows us to have .hgignore files that
include subdirectory hgignore files. Today it parses the entire repo at once,
even if we only need to test a file in one subdirectory. This patch makes the
subinclude tree creation lazy, which speeds up matcher creation significantly in
large repos with very large trees of ignore patterns.
bisect: allow resetting with unfinished graft/rebase/etc
"hg bisect --reset" just deletes the state file (it doesn't move back
to the starting point like rebase does); it can not conflict with an
ongoing rebase etc.
checkunfinished() has this documentation:
It's probably good to check this right before bailifchanged().
So that's where I moved it.
py3: use %d instead of %s for integers
dispatch._runcatch() always returns an integer value.
py3: use pycompat.bytestr() instead of str()
This is because str() on python 3 return unicodes
setup: sys.version_info always exists
It is documented as existing since Python 2.0, and empirically from
other OSS projects I maintain, there is no problem relying on its
existance.
filelog: fix parsemeta docstring
75bb7c702317 changed the return type of filelog.parsemeta but forgot to
update its docstring.