- Apr 03, 2017
-
-
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.
-
Gregory Szorc authored
We now have a dedicated help topic to describe bundle specification strings. Let's update `hg bundle`'s documentation to reflect its existence. While I was hear, I also tweaked some wording which I felt was out of date and needed tweaking. Specifically, `hg bundle` no longer just deals with "changegroup" data: it can also generate files that have non-changegroup data.
-
Gregory Szorc authored
I softly formalized the concept of a "bundle specification" a while ago when I was working on clone bundles and stream clone bundles and wanted a more robust way to define what exactly is in a bundle file. The concept has existed for a while. Since it is part of the clone bundles feature and exposed to the user via the "-t" argument to `hg bundle`, it is something we need to support for the long haul. After the 4.1 release, I heard a few people comment that they didn't realize you could generate zstd bundles with `hg bundle`. I'm partially to blame for not documenting it in bundle's docstring. Additionally, I added a hacky, experimental feature for controlling the compression level of bundles in 76104a4899ad. As the commit message says, I went with a quick and dirty solution out of time constraints. Furthermore, I wanted to eventually store this configuration in the "bundlespec" so it could be made more flexible. Given: a) bundlespecs are here to stay b) we don't have great documentation over what they are, despite being a user-facing feature c) the list of available compression engines and their behavior isn't exposed d) we need an extensible place to modify behavior of compression engines I want to move forward with formalizing bundlespecs as a user-facing feature. This commit does that by introducing a "bundlespec" help page. Leaning on the just-added compression engine documentation and API, the topic also conveniently lists available compression engines and details about them. This makes features like zstd bundle compression more discoverable. e.g. you can now `hg help -k zstd` and it lists the "bundlespec" topic.
-
Gregory Szorc authored
An upcoming patch will add support for documenting bundle specifications in more detail. As part of this, we'd like to enumerate available bundle compression formats. In order to do this, we need to provide the help mechanism a dict of names and objects with docstrings. This patch adds docstrings to compengine.bundletype and adds a function for retrieving a dict of them. The code is not yet used.
-
Gregory Szorc authored
Previously, --headeronly would prevent --twice from working because the ETag wasn't stored when --headeronly was used. This feels like a bug. That feeling is reaffirmed by the fact that this change doesn't regress any tests.
-
Gregory Szorc authored
A common exploit in web applications that access paths is to insert path separator strings like ".." to try to get the server to serve up files it shouldn't. We have code for detecting this in staticfile(). A subsequent commit will need to perform this test as well. Since this is security code, let's factor the check so we don't have to reinvent the wheel.
-
Gregory Szorc authored
-
- Apr 03, 2017
-
-
Martin von Zweigbergk authored
Followup to 5eb4d206202b (tags: extract fnode retrieval into its own function, 2017-03-28) in which the "for head in head" became "for head in nodes".
-
Martin von Zweigbergk authored
Looks like a leftover from 2a18e9e6ca43 (py3: use bytearray() instead of array('c', ...) constructions, 2017-03-12).
-
Martin von Zweigbergk authored
-
Denis Laxalde authored
So that the file name matches both the feature name and user facing vocabulary (e.g. the revset function).
-
Denis Laxalde authored
The previous CSS rule would also apply in pages where followlines UI was not available (e.g. "changeset" view at /rev/<node>/). We insert a "followlines-select" class in JavaScript on actually selectable lines and restrict the CSS selector to use it.
-
Denis Laxalde authored
We define the listener of document's "DOMContentLoaded" inline in registration and use a function expression (anonymous) with everything inside. This makes it clearer that this file is not a library of JavaScript functions but rather an executable script. (Most of changes consists of reindenting the "followlinesBox" function, so mostly white space changes.)
-
- Apr 02, 2017
-
-
Yuya Nishihara authored
Now _jsonifyobj() is identical to templatefilters.json(paranoid=False).
-
Yuya Nishihara authored
Not important, but the code slightly looks better.
-
Yuya Nishihara authored
It doesn't make sense to use a dict here.
-
Yuya Nishihara authored
This backs out ae5447de4c11. A callable should be evaluated beforehand by templater.runsymbol().
-
- Mar 29, 2017
-
-
Yuya Nishihara authored
Text IO sucks on Python 3 as it must be a unicode stream. We could introduce a wrapper that converts unicode back to bytes, but it wouldn't be simple to handle offsets transparently from/to underlying IOBase API. Fortunately, we don't need to process huge text files, so let's stick to bytes IO and convert EOL in memory.
-
Yuya Nishihara authored
See the next patch for why.
-
Yuya Nishihara authored
This can be used for EOL conversion of text files.
-
Yuya Nishihara authored
-
Yuya Nishihara authored
I was sometimes too lazy to use 'str' instead of 'lambda a: a'. Let's add a named function for that purpose.
-
- Apr 02, 2017
-
-
Matt Harbison authored
Windows uses double quotes in these places.
-
Matt Harbison authored
-
Matt Harbison authored
These tests would run if hghave.has_serve() were enabled on Windows. Windows has no issue allowing an unpriviledged process to open port 13, so it doesn't abort. The other tests are related to how MSYS tries to be helpful and converts Unix constructs to the Windows equivalent. There isn't any way to disable this behavior, though it supposedly doesn't happen if the exe is linked against the MSYS library.
-
Matt Harbison authored
On Windows, `rm` will fail with 'Permission denied' if another process has it open. It looks like the rollback test was missing the kill entirely.
-