- Aug 03, 2018
-
-
Martin von Zweigbergk authored
Many of the narrow tests were looking at .hg/narrowspec. I think most of them were written before we added `hg tracked`, but now that we have that command, we should fix the tests. There were also a few instances of tests looking at .hg/dirstate. I fixed those to use `hg files` instead. Differential Revision: https://phab.mercurial-scm.org/D4093
-
Martin von Zweigbergk authored
Just a little preparation for the next patch. Differential Revision: https://phab.mercurial-scm.org/D4095
-
Martin von Zweigbergk authored
As suggested by Gregory Szorc. Differential Revision: https://phab.mercurial-scm.org/D4094
-
Martin von Zweigbergk authored
-
Augie Fackler authored
As far as I can tell this is the only spot that got overlooked. Rough test methodology (run inside an hg working copy): docker run --rm -v `pwd`:/hg -it debian:wheezy bash apt-get update apt-get install python python-dev build-essential unzip mercurial \ wget libbz2-dev make testpy-2.7.8 You could try and use the system Python, but it's 2.7.3 and has lots of issues for hg these days that are not worth fixing. Differential Revision: https://phab.mercurial-scm.org/D4070
-
- Jul 21, 2018
-
-
Yuya Nishihara authored
'x - y' is first rewritten to 'x and not y' so that x and y are reordered by weight.
-
Yuya Nishihara authored
Timing of a crafted example (when disk cache is warm): $ hg files set:'binary() and path:contrib' (orig) time: real 0.140 secs (user 0.120+0.000 sys 0.020+0.000) (new) time: real 0.040 secs (user 0.030+0.000 sys 0.010+0.000)
-
- Jul 22, 2018
-
-
Yuya Nishihara authored
... in order to move status predicates far away from basic patterns. I don't know if each weight is appropriate, but it should be good enough as a start.
-
- Jul 21, 2018
-
-
Yuya Nishihara authored
The main purpose of this change is to group basic patterns, which can be mapped to a plain matcher. I'm not so interested in a weight of each function.
-
Yuya Nishihara authored
That's how a 'negate' node is processed in revset.
-
Yuya Nishihara authored
This helps rewriting a parsed tree.
-
Yuya Nishihara authored
This isn't strictly necessary, but I decided to just follow the strategy of the revset parsing.
-
- Aug 03, 2018
-
-
Augie Fackler authored
Differential Revision: https://phab.mercurial-scm.org/D4069
-
- Feb 08, 2018
-
-
Martin von Zweigbergk authored
This lets you have multiple #testcases declarations and they're taken to be different dimensions of the test, so their cross product becomes the total set of test cases. For example: #testcases obsstore-on obsstore-off #testcases manifest-flat manifest-tree $ hg rebase ... ... #if obsstore-on $ hg log ... #endif Note that this is an excellent way to slow down the test suite, so use it with care. The feature is implemented by replacing most of the "case" variables that were strings before by an array of strings with each item a different dimension of the test case. The file names are created by joining the dimensions by "#" (e.g. test-foo.t#obsstore-on#manifest-flat). Differential Revision: https://phab.mercurial-scm.org/D4049
-
- Aug 02, 2018
-
-
Martin von Zweigbergk authored
This seems like a natural follow-up to b865bba56db1 (run-tests: update the test case name format, 2018-05-13). Differential Revision: https://phab.mercurial-scm.org/D4052
-
- Jul 31, 2018
-
-
Sushil Khanchi authored
This config setting gives a functionality to confirm before it re-merge all unresolved files. If this config is enabled, when you run 'hg resolve --all' it will prompt with a msg "re-merge all unresolved files (yn)?" To enable this functionality: [commands] resolve.confirm = True Differential Revision: https://phab.mercurial-scm.org/D3988
-
- Jul 18, 2018
-
-
Martin von Zweigbergk authored
If nt_init() successfully allocates memory for the node tree but then runs out of memory while trying to insert nullid into it, it will leave the node tree pointer set on the index object. That means that future node tree operations will think that the tree is properly initialized. It seems very unlikely to make a difference in practice (if nt_init() runs out of memory, not much else will probably work), but since I spotted it, I figured I might as well fix it. Differential Revision: https://phab.mercurial-scm.org/D4028
-
- Jul 09, 2018
-
-
Martin von Zweigbergk authored
index_find_node() would call nt_find() before initializing the node tree. nt_find() would then return -2 unless the requested revision was the null revision. I can't imagine what scenario that is optimizing for, and doing the initialization earlier makes the code simpler and easier to follow, so that's what this patch does. Differential Revision: https://phab.mercurial-scm.org/D4027
-
- Jul 21, 2018
-
-
Martin von Zweigbergk authored
The "nodelen" output parameter is always set to 20 if the function returns successfully. Differential Revision: https://phab.mercurial-scm.org/D4026
-
- Aug 03, 2018
-
-
Martin von Zweigbergk authored
One of my recent changes from repo.status(ctx1, ctx2) to ctx1.status(ctx2) broke some of our Google-internal tests. The problem turned out to be that the narrow extension was overriding repo.status() to make it filter out paths outside the narrowspec. When I changed to ctx1.status(ctx2), then that filtering obviously got lost. ctx.status() seems like a better method to do the filtering in, so this patch moves the filtering into that method, thereby also moving it out of the extension and into core. Differential Revision: https://phab.mercurial-scm.org/D4068
-
- Jul 10, 2018
-
-
Sushil Khanchi authored
Now, amend is in the list of those history editing commands which support `history-editing-backup` config option. If you don't want to store any backup then just use this config. [ui] hisotry-editing-backup = False Current status of list of history editing commands which support this config: 1. histedit 2. rebase 3. amend Differential Revision: https://phab.mercurial-scm.org/D3968
-
- Aug 02, 2018
-
-
Sushil Khanchi authored
It was getting messy to populate "backup" flag to calls of `_finishrebase()` and `_prepareabortorcontinue`, so made some changes to move "backup" flag to rbsrt. Differential Revision: https://phab.mercurial-scm.org/D4055
-
- Jun 11, 2018
-
-
Katsunori FUJIWARA authored
Now, hggettext specific warning messages are formatted in: FILENAME:LINENO:MESSAGE This allows editors to jump into corresponded line easily.
-
Katsunori FUJIWARA authored
This empty translatable synopsis text causes xgettext warning below: Empty msgid. It is reserved by GNU gettext: gettext("") returns the header entry with meta information, not the empty string. This "synopsis" argument of @command annotation is omitable.
-
- Aug 02, 2018
-
-
Katsunori FUJIWARA authored
This substitution decreases readability of "make update-pot" output, because PYFILES consists of many files. This patch makes "make update-pot" show "find mercurial hgext doc -name '*.py'" instead of many *.py files at runtime.
-
Martijn Pieters authored
-
- Aug 01, 2018
-
-
Danny Hooper authored
Differential Revision: https://phab.mercurial-scm.org/D4048
-
- Aug 02, 2018
-
-
Martin von Zweigbergk authored
I didn't know that 'hg help "revsets.x or y"' was valid syntax, so the quoting is extra useful here to make it clear that that is an actual command. Differential Revision: https://phab.mercurial-scm.org/D4059
-
Augie Fackler authored
Differential Revision: https://phab.mercurial-scm.org/D4051
-
- Jul 29, 2018
-
-
Gregory Szorc authored
The narrow extension completely replaced the function generating the changegroup part when a narrow changegroup was requested. Previous commits have taught the in-core changegroup code how to filter files based on a matcher. This commit teaches the in-core bundle2 part generation code to construct a matcher based on arguments. It will also emit a bundle2 part describing the narrow spec. I believe the changegroup part generation code in the narrow extension is now limited to ellipsis serving mode. i.e. core is now capable of narrow changegroup generation when ellipsis mode is disabled. Differential Revision: https://phab.mercurial-scm.org/D4014
-
Gregory Szorc authored
And refactor the logic for determining when to invoke our custom changegroup part function so it is only conditional on narrow being set. This makes it more obvious under which conditions we should invoke the custom implementation. Also use raw strings so **kwargs works on Python 3. Differential Revision: https://phab.mercurial-scm.org/D4013
-
- Jul 28, 2018
-
-
Gregory Szorc authored
prune() needs to ellide manifests that aren't part of the narrow matcher. The code is violating storage abstractions, so a comment has been added. Keep in mind the impetus for moving this code to core is so changegroup code can be refactored to be storage agnostic. Differential Revision: https://phab.mercurial-scm.org/D4012
-
- Jul 22, 2018
-
-
Yuya Nishihara authored
I'll add a couple more functions that work on parsed tree. % wc -l mercurial/fileset*.py 559 mercurial/fileset.py 135 mercurial/filesetlang.py 694 total
-
- Jul 21, 2018
-
-
Yuya Nishihara authored
This also makes it easier to compile a union of basic patterns into a single regexp pattern.
-
Yuya Nishihara authored
Just prepares for flattening 'or' nodes. This change would have no impact on performance.
-
Yuya Nishihara authored
-
Yuya Nishihara authored
I'll add some static optimizations to fileset.
-
- Jul 22, 2018
-
-
Yuya Nishihara authored
It was added at 91aac8e6604d, but is no longer needed since a fileset expression is now compiled into an "open" matcher. See ff5b6fca1082 for details.
-
- Jul 05, 2018
-
-
Sushil Khanchi authored
If you don't want to store any backup while rebasing, you can use `history-editing-backup` config option. [ui] history-editing-backup = # True or False Current status of list of commands which supports this config: 1. histedit 2. rebase Differential Revision: https://phab.mercurial-scm.org/D3887
-
- Aug 01, 2018
-
-
Martijn Pieters authored
This lets you track down what exactly is happening during extension loading, and how long various steps took.
-