- Apr 03, 2017
-
-
Jun Wu authored
This is similar to "revlog: use raw revisions in revdiff". revdiff() generates raw text used in revlog directly. This makes test-flagprocessor.t happy.
-
- Apr 07, 2017
-
-
Jun Wu authored
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 authored
This fixes bundlerevlog.flags(rev) for any revisions provided by the bundle. Now test-flagprocessor.t points us to another issue.
-
Jun Wu authored
"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 authored
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 authored
This will force "hg bundle" to use changegroup3 in the test. It is important since only changegroup3 preserves revlog flags.
-
Jun Wu authored
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.
-
- Apr 06, 2017
-
-
Matt Harbison authored
-
Matt Harbison authored
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 authored
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 authored
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.
-
- Apr 07, 2017
-
-
Pulkit Goyal authored
We have converted opts to unicodes before passing them.
-
Jun Wu authored
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 authored
This will be used by the next patch.
-
- Apr 06, 2017
-
-
Philippe Pepiot authored
util.timer has been introduced in ae5d60bb70c9 and used in perf.py since 22fbca1d11ed. For historical portability, forcibly define util.timer in perf.py
-
- Apr 05, 2017
-
-
Alexander Fomin authored
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 authored
This changeset makes patch respect -a/--text option in --git mode by aligning its behaviour with git itself.
-
- Apr 04, 2017
-
-
Yuya Nishihara authored
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 authored
The patch lingered for a while and nobody noticed when it was resubmitted.
-
Pierre-Yves David authored
The patch lingered for a while and nobody noticed when it was resubmitted.
-
- Apr 03, 2017
-
-
Augie Fackler authored
Caught by the buildbot with --pure, fix suggested by indygreg.
-
Augie Fackler authored
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 authored
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
We have to do the % formatting over the sysstr, since the things we're going to splat into it are themselves sysstrs. This is probably technically wrong-ish, since bt is probably actually a bytestr here, but this fixes the immediate issue, which was that hg was broken on Python 3.
-
- Apr 02, 2017
-
-
Yuya Nishihara authored
There was no deprecwarn(), but this is the same kind of API compatibility as the one removed by the previous patch.
-
Yuya Nishihara authored
It's said to be removed after 3.9.
-
- Apr 01, 2017
-
-
Denis Laxalde authored
This factors out hunk filtering logic by line range that is similar in mdiff.blocksinrange() and hgweb.webutil.diffs().
-
- Apr 22, 2016
-
-
Yuya Nishihara authored
This was originally written for JSON templating where we would have to be careful to not add extra comma, but seems generally useful. Inner loop started by % operator has its own counter.
-
Yuya Nishihara authored
I want to reuse "i" for index.
-
- Apr 02, 2017
-
-
Yuya Nishihara authored
This makes the future patch slightly simpler.
-
- Apr 03, 2017
-
-
Jun Wu authored
Previously, revlog.revision(raw=False) may try to apply the delta chain on _cache hit. That happens if flags are non-empty. This patch makes rawtext reused so delta chain application is avoided. "_cache" and "rev" are moved a bit to avoid unnecessary assignments.
-
Jun Wu authored
-
Jun Wu authored
This is more consistent with other code in "revision()" - prefer performance to code length.
-
Jun Wu authored
When writing the revlog-ng index, the third field is len(rawtext). See revlog._addrevision: textlen = len(rawtext) .... e = (offset_type(offset, flags), l, textlen, base, link, p1r, p2r, node) self.index.insert(-1, e) Therefore, revlog.index[rev][2] returned by revlog.rawsize should be len(rawtext), where "rawtext" is revlog.revision(raw=True). Unfortunately it's hard to add a test for this code path because "if l >= 0" catches most cases.
-
- May 14, 2016
-
-
Yuya Nishihara authored
It's been disabled since 4d1e56b29a91, but it can be enabled now as the ordering requirement is resolved at analyze().
-
- Apr 01, 2017
-
-
Gregory Szorc authored
Commit 81e1f5bbf1fc54808649562d3ed829730765c540 from https://github.com/indygreg/python-zstandard is imported without modifications (other than removing unwanted files). Updates relevant to Mercurial include: * Support for multi-threaded compression (we can use this for bundle and wire protocol compression). * APIs for batch compression and decompression operations using multiple threads and optimal memory allocation mechanism. (Can be useful for revlog perf improvements.) * A ``BufferWithSegments`` type that models a single memory buffer containing N discrete items of known lengths. This type can be used for very efficient 0-copy data operations. # no-check-commit
-
Gregory Szorc authored
Similar to the recent change to "bundle," this command no longer just deals with "changegroup" data.
-