largefile: use `self` in repo method instead of `repo`
Most method added (or overwritten) to repo by largefile works on `repo`
instead of `self`. This currently works without trouble because `self` and
`repo` are likely the same. However this is semantically dubious and this may
cause issue for filtering. `self` may be proxy object different from the `repo`
one.
This changeset fix that and use `self` when applicable.
test: use proper subclassing in `test-
issue2137.t`.
To use changelog filtering on the repository, we plan to use "proxy" object that
perfectly mock a repository but with a filtered changelog.
Altering the `repo.commit` function using `extensions.wrapfunction` will prevent
the logic to propagate to the proxy class by the mean of inheritance.
We changes the extension to use subclassing as expectable.
run-tests: handle windows crlf in .py tests again
Before
af7c6bc48d8d all crlf occurrences in test output on Windows were simply
changed to lf. In
af7c6bc48d8d it was replaced by more clever handling in the
.t test runner ... but the .py runner was forgotten and many .py tests were
failing on Windows.
The crlf/lf replacement is now reintroduced in the py test runner.
test-run-tests.t: fix wrong test case for cr handling on Windows
An incorrect and failing test case was introduced in
af7c6bc48d8d.
win32mbcs: add reversing wrapper for some unicode-incompatible functions.
This changeset fix the problem to use win32mbcs with mercurial 2.3 or
later.
The problem is brought by side effect of modification of
encoding.upper() (changeset 17236:
9fb8312dbdbd) because upper() does
not accept unicode string argument. So wrapped util.normcase() which
uses upper() will fail. In other words, upper() and lower() are
unicode incompatible.
To fix this issue, this changeset adds new wrapper for reversed
conversion (unicode to str) for lower() and upper() to use them
safely.
convert: normalize paths in filemaps (
issue3612)
convert doesn't normalise double slashes in paths. Path normalization
is applied when a path is loaded into filemap and when a file lookup
request is issued to filemap.
repair: use node to track post-strip bookmark target
Revision numbers are unstable when non-consecutive revs are stripped.
largefiles: update lfutil.findoutgoing() discovery method
It looks like this method missed the updates in
30273f0c776b (which changed the
preferred discovery method from findcommonincoming() to findcommonoutgoing()),
and
cd956049fc14 (which rolls up the outgoing lists into a single object).
wireproto: fix pushkey hook failure and output on remote http repo
Over http, a failed pushkey hook simply crashed the server, and
successful hook output was never sent to the client.
bookmarks: simplify code
Remove some unnecessary return statements and collect some checks into
one place. As requested by Thomas Arendsen Hein <thomas@intevation.de>.
bookmarks: abort when incompatible options are used (
issue3663)
Options like --delete and --rename are incompatible with each
other. In this case we abort. We do not abort if the result is a nullop.
Nullops are: '--delete --inactive', '--delete --force'.
bookmarks: check bookmark format during rename (
issue3662)