obsolete: make sure windows tests pass when stat() is given a URL
This is a temporary fix for an issue that's only visible on windows, but exists
on other platforms as well.
The issue is if we're trying to use obsstore from a remote peer and that peer
is a static HTTP repo, vfs tries to os.stat() a remote file using a URL to that
file (e.g. http://localhost/repo/.hg/store/obsstore). The next patch in this
series makes branchcache obsolescence-aware, so in certain situations exchange
process will try os.stat()ing a URL. On windows this will produce an OSError
that is not ENOENT, but EINVAL instead (because of `:` symbol, for example).
Differential Revision: https://phab.mercurial-scm.org/D12100
== New Features ==
* `hg mv -A` can now be used with `--at-rev`. It behaves just like
`hg cp -A --at-rev`, i.e. it marks the destination as a copy of the
source whether or not the source still exists (but the source must
exist in the parent revision).
* New revset predicate `diffcontains(pattern)` for filtering revisions
in the same way as `hg grep --diff pattern`.
* The memory footprint per changeset and per file during pull/unbundle
operations has been significantly reduced.
== New Experimental Features ==
== Bug Fixes ==
== Backwards Compatibility Changes ==
== Internal API Changes ==
* `merge.update()` is now private (renamed to `_update()`). Hopefully
the higher-level functions available in the same module cover your
use cases.
* `phases.registernew` now takes a set of revisions instead of a list
of nodes. `phases.advanceboundary` takes an optional set of revisions
in addition to the list of nodes. The corresponeding members of the
`phasecache` class follow this change.
* The `addgroup` member of `revlog` classes no longer keeps a list of
all found nodes. It now returns True iff a node was found in the group.
An optional callback for duplicated nodes can be used by callers to keep
track of all nodes themselve.
* The `_chaininfocache` of `revlog` classes has been changed from a dict
to a LRU cache.