- Jun 21, 2018
-
-
Paul Morelle authored
The two ratios chainratio and extraratio are computed using dividers that may be zero when the file is empty. As the denominators are integers, the limit of the ratio "just before zero" is the numerator value itself. If the numerator itself is zero, the ratio value is still meaningful: in both cases, a "good" value is a low ratio, and a size of zero is the optimal case.
-
- Jul 09, 2018
-
-
Danny Hooper authored
Broadly, having lines that begin with several '<' tends to trigger tools that try to warn you about unresolved conflicts. It will save some headaches to tweak this string literal to avoid that. Differential Revision: https://phab.mercurial-scm.org/D3897
-
- Jul 10, 2018
-
-
Boris Feld authored
Limit maximum chunk size to 4x final size when reading a revision from a revlog. We only apply this logic when the target size is known from the revlog. Ideally, revlog's delta chain would be written in a way that does not trigger this extra slicing often. However, having this second guarantee that we won't read unexpectedly large amounts of memory in all cases is important for the future. Future delta chain building algorithms might have good reason to create delta chain with such characteristics. Including this code in core as soon as possible will make Mercurial 4.7 forward-compatible with such improvement.
-
Boris Feld authored
After the density slicing is done, we enforce a maximum chunk size to avoid memory consumption issue.
-
- Jul 11, 2018
-
-
Boris Feld authored
It is possible to encounter situations where the slicing based on density did not achieve chunk smaller than the 4*textlength limit. To avoid extra memory consumption in those cases, we need to be able to break down chunk to a given size. Actual caller comes in the next changesets.
-
- Jul 10, 2018
-
-
Boris Feld authored
We are going to introduce another slicing step. We start by extracting the existing one into its own function.
-
Boris Feld authored
-
Boris Feld authored
-
Boris Feld authored
-
Boris Feld authored
This will be used in various function doctest added in the next changesets. The class seems small enough to live in the module directly.
-
- May 17, 2018
-
-
Paul Morelle authored
Refactor out this code to be used somewhere else in a next changeset
-
- Jul 10, 2018
-
-
Boris Feld authored
If the full span is smaller than the minimum gap size we'll consider, we know we won't do any slicing and we can return earlier.
-
- Jun 19, 2018
-
-
Paul Morelle authored
We don't need to do anything if we know we won't enter the second while loop. Save the overhead of the first loop by returning earlier.
-
- Jul 10, 2018
-
-
Boris Feld authored
Testing on actual data shows that 65K is more efficient in both time and memory than 256K.
-
- Jun 22, 2018
-
-
Paul Morelle authored
The target density value is wrong. The default target chain span is 4*text-length. However, the target max chain payload is 2*text-length. So default target density should be 50% (2/4) not 25% (1/4).
-
- Jul 05, 2018
-
-
Sangeet Kumar Mishra authored
With this patch, grep searches on the working directory by default and looks for all files tracked by the working directory and greps on them. ### OLD BEHAVIOUR $ hg init a $ cd a $ echo "some text">>file1 $ hg add file1 $ hg commit -m "adds file1" $ hg mv file1 file2 $ hg grep "some" `file2:1:some text` `file1:0:some text` This behaviour is undesirable since file1 is not in the current history and was renamed as file2, so the second result was redundant and confusing. ### NEW BEHAVIOUR $ hg init a $ cd a $ echo "some text">>file1 $ hg add file1 $ hg commit -m "adds file1" $ hg mv file1 file2 $ hg grep "some" `file2:2147483647:some text` Differential Revision: https://phab.mercurial-scm.org/D3826
-
- Jul 10, 2018
-
-
Sune Foldager authored
When displaying diffs, \r at the end of a line is treated as trailing whitespace. This causes an ANSI escape code to be inserted between \r and \n. Some programs, such as less since version 530 (maybe earlier, but at least not version 487) displays ^M when it encounters a lone \r. This causes a lot of noise in diff output on Windows, where \r\n is used to terminate lines. We avoid that by treating both \n and \r\n as end of line when considering trailing whitespace.
-
- Jul 08, 2018
-
-
Matt Harbison authored
I think having it on by default is the right thing to do, but this is an escape hatch if someone has a command that shouldn't be mangled. The inspiration is the priority prefix. The translation does nothing on non Windows platforms, so the default value is selected to avoid printing a useless note by default.
-
Matt Harbison authored
A prefix like 'priorityfoo' is meaningless, but `hg help config.hooks` calls out the dot.
-
Matt Harbison authored
This functionality was inherited from `os.path.expandvars()`. But the point of adding this translating code is to be able to write a portable hook, and bash wouldn't replace '$$' with '$'. Escaping with '\' works, and is portable.
-
- Jun 21, 2018
-
-
Sean Farley authored
This is mainly to check that we don't regress our optimization path.
-
- Jun 26, 2018
-
-
Sean Farley authored
Previously, the only way to get these commits were (tested on mozilla-central): hg perfrevset 'heads(::a7cf55 and ::d8b15)' ! wall 4.988366 comb 4.960000 user 4.780000 sys 0.180000 (best of 3) After this patch: (python) hg perfrevset 'heads(commonancestors(a7cf55 + d8b15))' ! wall 0.002155 comb 0.000000 user 0.000000 sys 0.000000 (best of 1107) (C) hg perfrevset 'heads(commonancestors(a7cf55 + d8b15))' ! wall 0.000568 comb 0.000000 user 0.000000 sys 0.000000 (best of 4646)
-
- Jun 19, 2018
-
-
Sean Farley authored
This is a method to reproduce "::x and ::y" such that a set can be sent in. For instance, it'd be convenient to have "::heads()" work like this but that already means "::x + ::y + ..." for each element in the "heads()" set. Therefore, we add the "commonancestors" method to mean "::x and ::y ..." for each head in the given set.
-
- Jul 09, 2018
-
-
Augie Fackler authored
It's another creature comfort in diff output, we may as well include it alongside git-diffs and showfunc.
-
- Jul 10, 2018
-
-
Boris Feld authored
Differential Revision: https://phab.mercurial-scm.org/D3900
-
Boris Feld authored
A previous commit introduced `onStart` and `onEnd` methods on test result but the one used in tests lacked those two methods. Fix it and add some output to be sure they are called. Differential Revision: https://phab.mercurial-scm.org/D3899
-
Boris Feld authored
A previous refactoring created the test result with a verbosity of 0 hiding some of the outputs in the normal case. Differential Revision: https://phab.mercurial-scm.org/D3898
-
- Jun 05, 2018
-
-
Boris Feld authored
We use "shelve" and "working-copy" instead of "source" and "dest". This is a net win. Differential Revision: https://phab.mercurial-scm.org/D3694
-
- May 28, 2018
-
-
Boris Feld authored
Shelve is currently sub-contracting some of its work to the rebase extension. In order to make shelve more independent and flexible we would like shelve to handle the parent alignment directly. After this change, we no longer need to use rebase in shelve. Differential Revision: https://phab.mercurial-scm.org/D3693
-
- May 24, 2018
-
-
Boris Feld authored
It would allow custom test result to display custom messages. Differential Revision: https://phab.mercurial-scm.org/D3701
-
- Apr 28, 2018
-
-
Boris Feld authored
The goal is to begin experiment with custom test result. I'm not sure we should offers any backward-compatibility guarantee on that plugin API as it doesn't change often and shouldn't have too much clients. Differential Revision: https://phab.mercurial-scm.org/D3700
-
- Mar 15, 2018
-
-
Pulkit Goyal authored
Earlier we use to pull remotenames information from the server in case of pull and clone only. This patch adds logic to push also command to pull remotenames information. This will help us in keeping the remotenames more upto date where there are a lot people changing state of branches and bookmarks at the server. Differential Revision: https://phab.mercurial-scm.org/D2874
-
- Jun 10, 2018
-
-
Yuya Nishihara authored
Just for sanity. No idea if this will make a difference, but it should propagate the badfn because the matcher created by mctx.matcher() will be returned by fileset.match() in future patches.
-
- Jun 09, 2018
-
-
Yuya Nishihara authored
And rename the functions accordingly. fileset.match() will be changed to not compute the initial subset. test-glog*.t get back to the state before 9f9ffe5f687c "match: compose 'set:' pattern as matcher."
-
Yuya Nishihara authored
This serves as an inverse function to the subdirmatcher, and will be used to wrap a fileset matcher of subrepositories. One of the root/prefix paths could be deduced from the matcher attributes to be wrapped, but we don't since the callers of this class know the root/prefix paths and can simply pass them in.
-
Yuya Nishihara authored
This prepares for the structural change of the fileset. A computed fileset will no longer be a set of files, but a boolean function (i.e. matcher) to test if an input file matches the given fileset expression. --all-files option is added because some examples in the test need to scan files across revisions.
-
- Jul 08, 2018
-
-
Yuya Nishihara authored
This allows us to embed error message in bytes.
-
Yuya Nishihara authored
# skip-blame just some b''
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-