revert: show warning when reverting subrepos that do not support revert
The warning is similar to the warning that was shown before hgsubrepo revert
support was added, with the exception that now the subrepo type is shown.
For example, when trying to revert a git subrepo located in "include/mygitsub",
the warning message would be:
include/mygitsub: reverting git subrepos is unsupported
revset: fix O(n**2) behaviour of bisect() (
issue3381)
convert/svn: do not try converting empty head revisions (
issue3347)
Subversion conversion works by picking trunk and branches heads, computing a
revision graph from them and converting the selected commits. By design we fail
to convert empty revisions so we have to be careful when discovering the
revision graph. In this particular issue, the source svn repository was a
partial mirror made by svnsync. The funny part is svnsync preserves all
revisions including empty ones. Also, we trusted ra.stat(path,
stop).created_rev to give us the latest revision with changes in path history
up to stop. This assumption broke at least when path is '', that is the
repository root, which always returned 'stop' revision despited being empty.
The workaround is to first trust ra.stat() but if the returned revision appear
empty, search the whole path history from stop to r1 until some changes are
found.
convert/svn: refactor svn_source.latest() with a nested function
We will call it more than once for reasons detailed later.
convert/svn: clarify svn_source.latest() stop arg default value
stop=0 could pass for a valid default value at first sight.
factotum: rename mount and path configuration entries
The factotum extension used mount and path entries which were too
generic. These have been replaced by mountpoint and executable
(respectively) to match existing conventions.
Added signature for changeset
d9e2f09d5488
Added tag 2.2-rc for changeset
d9e2f09d5488