- Apr 14, 2015
-
-
Ryan McElroy authored
Today, the terms 'active' and 'current' are interchangeably used throughout the codebase in reference to the active bookmark (the bookmark that will be updated with the next commit). This leads to confusion among developers and users. This patch is part of a series to standardize the usage to 'active' throughout the mercurial codebase and user interface.
-
- May 06, 2015
-
-
Mathias De Maré authored
'git diff-index' by default does not recurse into subdirectories when changes are found. As a result, the directory is shown as changed, rather than the files in this directory. Adding '-r' results in recursing until the blobs themselves are checked.
-
Matt Mackall authored
-
- Apr 12, 2015
-
-
Augie Fackler authored
-
- Mar 26, 2014
-
-
Pierre-Yves David authored
Before this patch, _revancestors were giving false result when a revision was duplicated in the input. Duplicated entry are rare but may happen when using the `%lx` notation internally. This series has no visible impact on the performance of the function according to benchmark.
-
Pierre-Yves David authored
The dequeue was actually just used to be able to pop value one at a time. Building the dequeue means we are reading all the input value at once at the beginning of the evaluation. This defeat the lazyness of revset. We replace the deque with iterator usage for the sake of simplicity and lazyness. This provide massive speedup to get the first result if the input set is big max(::all()) before) wall 0.001917 comb 0.000000 user 0.000000 sys 0.000000 (best of 1115) after) wall 0.000107 comb 0.000000 user 0.000000 sys 0.000000 (best of 22222)
-
- May 06, 2015
-
-
Martin von Zweigbergk authored
By introducing an early return in _revancestors() when revs is empty, we make it so inputrev is never None, which simplifies the subsequent code.
-
- Mar 26, 2014
-
-
Pierre-Yves David authored
We usually use 'node' for variable containing 20 bytes hash. There is nothing nodish in this variable, so we rename it to "inputrev" as it old the next entry of the iteration.
-
- May 04, 2015
-
-
Pierre-Yves David authored
The 'for r in self:' call could trigger full consumption of the generator while we only need a single value. We also fast path if a single value got already computed. See inline comment for more details. This provide massive speedup for lazy operation using boolean testing. max(::tip) e5b507efb36e) wall 0.055609 comb 0.060000 user 0.060000 sys 0.000000 (best of 100) after change) wall 0.000109 comb 0.000000 user 0.000000 sys 0.000000 (best of 19146)
-
- May 05, 2015
-
-
Drew Gottlieb authored
This just adds a test to ensure that we can convert a manifestv1 repo to a manifestv2 repo (for future commits only) by means of a local clone.
-
- Apr 13, 2015
-
-
Drew Gottlieb authored
The logic to read a requires file resides in scmutil, so it's only logical that the logic to write the file should be there too. And now I've typed logic too many times it no longer looks like a word. Logically.
-
- May 05, 2015
-
-
Durham Goode authored
test-histedit-edit was broken because it relied on the HGEDITOR script being executable. Instead, lets just execute 'sh' and pass it the script to run. This seems to be the pattern followed in other tests.
-
- May 03, 2015
-
-
Jordi Gutiérrez Hermoso authored
It makes perfect sense for tokens to parse as existing revset symbols (revset functions), and doesn't break anything, since parsing symbols as functions works correctly in the presence of parens. For example, if "only" is a bookmark, this used to error out, hg log -r "only(only, @)" which shouldn't, as the inner "only" is unambiguously not a function. So we just remove the symbolset function and replace its calling site with the stringset function. For the tests, we confirm that "date" and "only" are both parsed as revision names both inside revset expressions (e.g. an expression containing ::) and inside old-style revision expressions (e.g. those containing the name of the revision alone).
-
- May 05, 2015
-
-
Matt Mackall authored
-
- Apr 26, 2015
-
-
Jordi Gutiérrez Hermoso authored
-
- Apr 28, 2015
-
-
Jordi Gutiérrez Hermoso authored
The current test that greps for "phase:" only checks that the word "phase" is in the output, but does not test that nothing else gets added by this template. This improves these tests by showing a unified
-
Laurent Charignon authored
Speed up the computation of the unstable revset by using the not public() revset. In another series of patches, we optimize the not public() revset and together it leads to a 50-100x speedup on the computation of unstable() for our big repos.
-
- Apr 24, 2015
-
-
Laurent Charignon authored
Speed up the computation of the bumped revset by using the not public() revset. In another patch series, we optimized the not public() revset. Together, this cuts the cost of the computation of bumped() from 17% of the total time of smartlog on our big repo to under 0.1% of the total time.
-
- Mar 19, 2015
-
-
Pierre-Yves David authored
Otherwise using --verbose and --jobs gives useless output.
-
- Apr 28, 2015
-
-
Augie Fackler authored
I keep having to ponder out what readfast() means, and it always surprises me. Document the return type in the docstring so that future readers won't have to puzzle this out again.
-
- May 05, 2015
-
-
Matt Harbison authored
The previous behavior when archiving a subrepo 's' on Windows was to internally name the file under it 's\file', due to the use of vfs.reljoin(). When printing the file list from the archive on Windows or Linux, the file was named 's\\file'. The archive extracted OK on Windows, but if the archive was brought to a Linux system, it created a file named 's\file' instead of a directory 's' containing 'file'. *.zip format achives seemed not to have the problem, but this was definitely an issue with *.tgz archives. Largefiles actually got this right, but a test is added to keep this from regressing. The subrepo-deep-nested-change.t test was repurposed to archive to a file, since there are several subsequent tests that archive to a directory. The output change is losing the filesystem prefix '../archive_lf' and not listing the directories 'sub1' and 'sub1/sub2'.
-
- Oct 11, 2014
-
-
Pierre-Yves David authored
We were manually creating a base with explicit subset testing. We should let smartset magic happen and optimise that logic if needed. benchmark show some massive speedup when "parents set" is huge and "subset" is small. revset: 42:68 and roots(42:tip) 0) wall 0.011322 comb 0.010000 user 0.010000 sys 0.000000 (best of 161) 1) wall 0.002282 comb 0.010000 user 0.010000 sys 0.000000 (best of 1082) Minor speedup in simple case (were fullreposet helps) revset: roots(0::tip) 0) wall 0.095688 comb 0.100000 user 0.100000 sys 0.000000 (best of 85) 1) wall 0.084448 comb 0.080000 user 0.080000 sys 0.000000 (best of 95) revset: roots((0:tip)::) 0) wall 0.146752 comb 0.140000 user 0.140000 sys 0.000000 (best of 58) 1) wall 0.143538 comb 0.140000 user 0.140000 sys 0.000000 (best of 59) And small overhead then the "parents set" is fairly complicated (transforming it into a revset once and for all appears to be faster). revset: roots((tip~100::) - (tip~100::tip)) 0) wall 0.004652 comb 0.010000 user 0.010000 sys 0.000000 (best of 544) 1) wall 0.004878 comb 0.010000 user 0.010000 sys 0.000000 (best of 479) revset: roots((0::) - (0::tip)) 0) wall 0.146587 comb 0.150000 user 0.150000 sys 0.000000 (best of 53) 1) wall 0.157192 comb 0.160000 user 0.160000 sys 0.000000 (best of 53) revset: first(roots((0::) - (0::tip))) 0) wall 0.152924 comb 0.150000 user 0.150000 sys 0.000000 (best of 57) 1) wall 0.153192 comb 0.160000 user 0.160000 sys 0.000000 (best of 55)
-
- May 04, 2015
-
-
Laurent Charignon authored
Extensions might want to create new filternames and change what revisions are considered hidden or shown. This is the case for inhibit that enables direct access to hidden hashes with the visible-directaccess-nowarn filtername. By using startswith instead of a direct comparison with 'visible' we allow extensions to do that and not work directly on the 'visible' filtername used by core.
-
- May 03, 2015
-
-
Martin von Zweigbergk authored
Revision 7c231754a621 (filelog: add file function to open other filelogs, 2011-05-10) added a _file() method to revlog, which also required a 'repo' parameter to be added to bundlefilelog's constructor. The _file() method was then removed in b95a5bb58653 (filelog: remove unused _file method, 2015-01-22), which made the constructor parameter unused, so let's remove that too.
-
- Apr 22, 2015
-
-
Durham Goode authored
--edit-plan was completely broken from the command line because it used an old api that was not updated (it would crash with a stack trace). Let's update it and add tests to catch this.
-
- May 04, 2015
-
-
Matt Mackall authored
-
- Apr 22, 2015
-
-
Drew Gottlieb authored
Localrepo's __init__ function creates a local requirements set to add to before it replaces the instance's set with it. This is unnecessary, so let's just use the instance's set directly.
-
Drew Gottlieb authored
To avoid confusion from overloading of the variable name "requirements", the requirements is renamed to remotereqs for localrepo's stream_in() function.
-
Drew Gottlieb authored
Localrepo's stream_in function modified its requirements argument. This is not good practice because it may be unexpected behavior to the caller.
-
Drew Gottlieb authored
Localrepo's _applyrequirements function isn't very straightforward about what it does. Its purpose is to both act as a setter for the requirements attribute, and to apply appropriate requirements to the opener's configuration. This change makes the function just focus on the latter responsibility. We rename it as such, and make setting the requirements attribute the responsibility of the caller.
-
Drew Gottlieb authored
The init function used to create a local list, and then convert it to a set before assigning it as a data attribute. This change simplifies the function by having it always be a set, requiring no conversion.
-
- Apr 21, 2015
-
-
Drew Gottlieb authored
Localrepo's requirements class variable was introduced in b090601a80d1 to make requirements modifiable by extensions. A main access point, _baserequirements, still exists, but this change undoes making the class variable to begin with. Without this simplification, there is a class variable with a default value that is only copied, but never directly used. This behavior is moved directly into the _baserequirements function.
-
- Apr 29, 2015
-
-
Martin von Zweigbergk authored
Since we always pass self._reorder to self.group(), let's drop the parameter and let group() read from self._reorder itself. There are no other in-tree callers to group().
-
Martin von Zweigbergk authored
The difference between reorder=None (bundle.reorder=auto) and reorder=False is that the generaldelta revlogs get reordered with the former. In cg2packer, group() we check if the revlog uses generaldelta and if reorder=None and then convert that to reorder=False. We are effectively saying that whether or not generaldelta is used, we want reorder=None to mean reorder=False for changegroup 2. To make this clearer, check if reorder=None in the constructor and change it to False there and drop the overriding of group(). Also document the reason for turning reordering off.
-
- Apr 23, 2015
-
-
Martin von Zweigbergk authored
The config option bundle.reorder can be {on,off,auto}, which gets read into the 'reorder' variable as {True,False,None}. In two places, we need to decide how to handle the None/auto case. I personally find it easier to read those expressions when written to explicitly compare to None.
-
- Apr 10, 2015
-
-
Matt Harbison authored
-
- May 02, 2015
-
-
Matt Harbison authored
This is actual test coverage for issue4629. The test changes in eea3977e6fca were simply the addition of quotes to the output, not ensuring that strings with backslashes are quoted.
-
- Apr 25, 2015
-
-
Yuya Nishihara authored
The phases style started as a copy of the default style at 5c5152af0d15, but we didn't have to copy it because the templater supports %include syntax. This makes sure that the phases style have the same output as the default except for the additional "phase:" row.
-
- Apr 30, 2015
-
-
Yuya Nishihara authored
117b9a101f71 introduced the EXPERIMENTAL marker, so we should use it consistently.
-
- Apr 18, 2015
-
-
Christian Ebert authored
Pass repo.root explicitly as argument to indicate that removal of the temporary repo is intentional in this case.
-