Gregory Szorc <gregory.szorc@gmail.com> [Sat, 08 Apr 2017 14:33:20 -0700] rev 31847
zstd: vendor python-zstandard 0.8.1
This contains a fix for compilation on BSDs.
#no-check-commit
Olivier Trempe <oliviertrempe@gmail.com> [Wed, 08 Mar 2017 09:03:42 -0500] rev 31846
fsmonitor: match watchman and filesystem encoding
watchman's paths encoding can differ from filesystem encoding. For example,
on Windows, it's always utf-8.
Before this patch, on Windows, mismatch in path comparison between fsmonitor
state and osutil.statfiles would yield a clean status for added/modified files.
In addition to status reporting wrong results, this leads to files being
discarded from changesets while doing history editing operations such as rebase.
Benchmark:
There is a little overhead at module import:
python -m timeit "import hgext.fsmonitor"
Windows before patch: 1000000 loops, best of 3: 0.563 usec per loop
Windows after patch: 1000000 loops, best of 3: 0.583 usec per loop
Linx before patch: 1000000 loops, best of 3: 0.579 usec per loop
Linux after patch: 1000000 loops, best of 3: 0.588 usec per loop
10000 calls to _watchmantofsencoding:
python -m timeit -s "from hgext.fsmonitor import _watchmantofsencoding, _fixencoding" "fname = '/path/to/file'" "for i in range(10000):" " if _fixencoding: fname = _watchmantofsencoding(fname)"
Windows (_fixencoding is True): 100 loops, best of 3: 19.5 msec per loop
Linux (_fixencoding is False): 100 loops, best of 3: 3.08 msec per loop
Ryan McElroy <rmcelroy@fb.com> [Fri, 07 Apr 2017 06:31:50 -0700] rev 31845
pull: abort pull --update if config requires destination (
issue5528)
Ryan McElroy <rmcelroy@fb.com> [Fri, 07 Apr 2017 05:41:03 -0700] rev 31844
tests: move update requiredest test to own test file
More tests for this flag are coming in upcoming patches.
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.