Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Apr 2017 23:35:51 +0530] rev 31843
py3: add pycompat.unicode and add it to importer
On python 3, builtins.unicode does not exist.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Apr 2017 16:00:44 +0530] rev 31842
py3: add a bytes version of urllib.parse.urlencode() to pycompat.py
urllib.parse.urlencode() returns unicodes on Python 3. This commit adds a
method which will take its output and encode it to bytes so that we can use
bytes consistently.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Apr 2017 13:46:35 +0530] rev 31841
py3: replace str() with bytes()
Jun Wu <quark@fb.com> [Fri, 07 Apr 2017 11:02:43 -0700] rev 31840
metadataonlyctx: replace "changeset()[0]" to "manifestnode()"
As Yuya pointed out [1], "changeset()[0]" could be simplified to
"manifestnode()". I didn't notice that method earlier. It should definitely
be used - it's easier to read, and faster.
[1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-March/095716.html
Jun Wu <quark@fb.com> [Fri, 07 Apr 2017 11:09:54 -0700] rev 31839
test-check-pylint: match its output
"pylint --version" shows:
pylint 2.0.0,
astroid 1.5.0
Python 2.7.13 (default, Dec 21 2016, 07:16:46)
[GCC 6.2.1
20160830]
I got "Your code has been rated at 10.00/10" every time and didn't know how
to turn it off. Therefore the fix.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 19:01:51 -0700] rev 31838
test-flagprocessor: remove unnecessary greps
The "2>&1 | egrep ..." code is used for removing uninteresting parts from
tracebacks. Now the test does not dump tracebacks, they can be removed.
Jun Wu <quark@fb.com> [Mon, 03 Apr 2017 09:31:39 -0700] rev 31837
bundlerepo: use raw revision in revdiff()
This is similar to "revlog: use raw revisions in revdiff". revdiff()
generates raw text used in revlog directly.
This makes test-flagprocessor.t happy.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 17:45:47 -0700] rev 31836
bundlerepo: fix raw handling in revision()
Similar to fixes in revlog.py, this patch uses "rawtext" to explicitly label
contents expected to be raw, and makes sure content stored in _cache is raw
text.
Now test-flagprocessor.t points us to another issue.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 18:06:42 -0700] rev 31835
bundlerepo: build revlog index with flags
This fixes bundlerevlog.flags(rev) for any revisions provided by the bundle.
Now test-flagprocessor.t points us to another issue.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 17:43:29 -0700] rev 31834
bundlerepo: make baserevision return raw text
"baserevision" returns the text that will be used to apply deltas. Since
deltas are against raw texts, "baserevision" should return raw text.
Now test-flagprocessor.t points us to a new error.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 17:24:36 -0700] rev 31833
test-flagprocessor: add tests about bundlerepo
This shows flag processor is broken with a bundle repo.
The test creates non-liner history to exercise code path where the
deltaparent cannot be reused.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 17:23:20 -0700] rev 31832
test-flagprocessor: use changegroup3 in bundle2
This will force "hg bundle" to use changegroup3 in the test. It is
important since only changegroup3 preserves revlog flags.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 17:01:58 -0700] rev 31831
bundle: allow bundle command to use changegroup3 in tests
Since bundle2 writes changegroup version, we can just reuse the bundle2
format for changegroup3.
This won't enable the bundle command to write changegroup3 in the wild,
since exchange.parsebundlespec only returns changegroup2. It unlocks tests
to override exchange.parsebundlespec and get "hg bundle" write changegroup3.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Apr 2017 23:44:22 -0400] rev 31830
tests: add per-line output conditionals for Windows
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Apr 2017 23:17:27 -0400] rev 31829
run-tests: support per-line conditional output in tests
Duplicating entire tests just because the output is different is both error
prone and can make the tests harder to read. This harnesses the existing '(?)'
infrastructure, both to improve readability, and because it seemed like the path
of least resistance.
The form is:
$ test_cmd
output (hghave-feature !) # required if hghave.has_feature(), else optional
out2 (no-hghave-feature2 !) # req if not hghave.has_feature2(), else optional
I originally extended the '(?)' syntax. For example, this:
2 r4/.hg/cache/checkisexec (execbit ?)
pretty naturally reads as "checkisexec, if execbit". In some ways though, this
inverts the meaning of '?'. For '(?)', the line is purely optional. In the
example, it is mandatory iff execbit. Otherwise, it is carried forward as
optional, to preserve the test output. I tried it the other way, (listing
'no-exec' in the example), but that is too confusing to read. Kostia suggested
using '!', and that seems fine.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Apr 2017 22:59:44 -0400] rev 31828
test-run-tests: pad the failure test to preserve the run order
Test size seems to dictate the order in which the tests are run, and the next
patch will add to test-success.t. Similar to
c0cecc153d25.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Apr 2017 22:00:33 -0400] rev 31827
run-tests: prevent a (glob) declaration from reordering (?) lines
Previously, if a series of optional output lines marked with '(?)' had a (glob)
in one of the first lines, the output would be reordered such that it came last
if none of the lines were output. The (re) declaration wasn't affected, which
was helpful in figuring this out. There were no tests for '(re) (?)' so add
that to make sure everything plays nice.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 07 Apr 2017 13:45:33 +0530] rev 31826
py3: use pycompat.byteskwargs() to convert opts to bytes
We have converted opts to unicodes before passing them.
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 22:10:46 -0700] rev 31825
test-check-code: do not use xargs
We have too many files, and passing them via arguments could cause strange
errors on some platforms [1]. Since check-code.py can now take "-" and read
file names from stdin, use it instead of xargs to avoid the argv size limit.
[1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096346.html
Jun Wu <quark@fb.com> [Thu, 06 Apr 2017 22:08:23 -0700] rev 31824
check-code: use "-" to specify a list of files from stdin
This will be used by the next patch.
Philippe Pepiot <philippe.pepiot@logilab.fr> [Thu, 06 Apr 2017 14:41:42 +0200] rev 31823
perf: add historical portability for util.timer
util.timer has been introduced in
ae5d60bb and used in perf.py since
22fbca1d.
For historical portability, forcibly define util.timer in perf.py
Alexander Fomin <afomin@fb.com> [Wed, 05 Apr 2017 15:31:08 -0700] rev 31822
diff: add --binary option for git mode diffs
This patch adds --binary option to `hg diff` and `hg export` to allow more
control about when binary diffs are displayed in Git mode as well as some
tests to verify it behaves correctly (
issue5510).
Alexander Fomin <afomin@fb.com> [Wed, 05 Apr 2017 15:15:06 -0700] rev 31821
patch: make diff in git mode respect --text option (
issue5510)
This changeset makes patch respect -a/--text option in --git mode by aligning
its behaviour with git itself.
Yuya Nishihara <yuya@tcha.org> [Wed, 05 Apr 2017 00:34:58 +0900] rev 31820
py3: have registrar process docstrings in bytes
Mixing bytes and unicode creates a mess. Do things in bytes as possible.
New sysbytes() helper only takes care of ASCII characters, but avoids raising
nasty unicode exception. This is the same design principle as sysstr().
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 04 Apr 2017 16:49:12 +0200] rev 31819
localrepo: fix deprecation version for 'repo._link'
The patch lingered for a while and nobody noticed when it was resubmitted.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 04 Apr 2017 16:48:58 +0200] rev 31818
localrepo: fix deprecation version for 'repo.join'
The patch lingered for a while and nobody noticed when it was resubmitted.
Augie Fackler <augie@google.com> [Mon, 03 Apr 2017 19:45:09 -0400] rev 31817
tests: make zstd-related output optional
Caught by the buildbot with --pure, fix suggested by indygreg.
Augie Fackler <augie@google.com> [Mon, 03 Apr 2017 18:58:00 -0400] rev 31816
check-code: update test IP address enforcement checks
Instead of mentioning 127.0.0.1, we should use $LOCALIP. Anytime
$LOCALIP appears in output, we should make sure we use (glob) on that
line of output so that weird environments that do remapping jiggery
pokery (such as our FreeBSD buildbot that's in a jail) don't get
spurious test failures.
Augie Fackler <augie@google.com> [Mon, 03 Apr 2017 18:56:44 -0400] rev 31815
tests: fix missing (glob) annotations in test-push-http.t
Augie Fackler <augie@google.com> [Mon, 03 Apr 2017 18:56:29 -0400] rev 31814
tests: fix missing (glob) annotations in test-push-http-bundle1.t
Augie Fackler <augie@google.com> [Mon, 03 Apr 2017 18:56:08 -0400] rev 31813
tests: fix missing (glob) annotations in test-https.t
Augie Fackler <augie@google.com> [Mon, 03 Apr 2017 18:55:55 -0400] rev 31812
tests: fix missing (glob) annotations in test-bundle2-exchange.t