test-convert-svn-source: fix non-determinism
This test was failing randomly with:
--- /tests/test-convert-svn-source.t
+++ /tests/test-convert-svn-source.t.err
@@ -35,8 +35,8 @@
$ svnurl="file://$svnpath/svn-repo/proj%20B"
$ svn import -m "init projB" projB "$svnurl" | fixpath
+ Adding projB/tags
Adding projB/mytrunk
- Adding projB/tags
Committed revision 1.
patch: be more tolerant with EOLs in binary diffs (
issue2870)
The only place where an trailing CR could be meaningful is in the "diff --git"
line as part of a filename, and existing code already rule out this
possibility. Extend the CR/LF filtering to the whole binary hunk.
patch: include file name in binary patch error messages
$ hg import --no-commit ../mercurial_
1915035238540490516.patch
applying ../mercurial_
1915035238540490516.patch
abort: could not extract binary data
Becomes:
abort: could not extract "binary2" binary data
patch: display a nice error for invalid base85 data
Before, import was terminating with a traceback. Now it says:
$ hg import --no-commit ../bad.patch
applying ../bad.patch
abort: could not decode binary patch: bad base85 character at position 66
revset: fix adds/modifies/removes and patterns (
issue3403)
The fast path was triggered if the argument was not like "type:value", with
type a known pattern type. This is wrong for several reasons:
- path:value is valid for the fast path
- '*' is interpreted as a glob by default and is not valid for fast path
Fast path detection is now done after the pattern is parsed, and the normalized
path is extracted for direct comparison. All this seems a bit complicated, it
is tempting to drop the fast path completely. Also, the hasfile() revset does
something similar (only check .files()), without a fast path. If the fast path
is really that efficient maybe it should be used there too.
Note that:
$ log 'modifies("set:modified()")'
is different from:
$ log 'modifies("*")'
because of the usual merge ctx.files()/status(ctx.p1(), ctx) differences.
Reported by Steffen Eichenberg <steffen.eichenberg@msg-gillardon.de>