transaction: fix uncaught ENOENT (
issue1724)
The opener raises an IOError on errors where transaction expects an
OSError.
branch heads: fix regression introduced in
e67e5b60e55f (
issue1726)
For merge nodes it is not adequate to only check a single possible
branch head for whether it is an ancestor of the latest head, but it
needs to be done for each possible branch head.
subrepo: use hg.repository instead of creating localrepo directly
this way, extensions' reposetup will be called, which allows for git
subrepos to be handled by hg-git (and I believe the same goes for
svn and hgsubversion)
ignore: separate pattern extraction from match compilation
hgignore files have slightly different syntax from match objects,
e.g. syntax: foo headers, regexp: forms, and re being relre. Put
conversion from hgignore syntax into match syntax into a standalone
function so that it is easier to validate hgignore hunks externally.
util: remove unused bufsize argument
Removed it correctly this time: the subprocess default is 0, not -1
and so we must pass -1 explicitly. Added a comment to that effect.
Backed out changeset
fce065538bcf: it caused a 5x performance regression on OS X