- Oct 17, 2017
-
-
Martin von Zweigbergk authored
I have spent a lot of time debugging extensions that failed to load because we don't include a traceback and I didn't realize I could get traceback for the extension failure with --traceback. Let's just turn them on by default, since it should be rare that the user sees these tracebacks anyway (and if they do, it's not so bad if the extra traceback pushes them a little harder to report the problem). Since we already had a test case with --traceback and one without, I just removed the one with the flag. Differential Revision: https://phab.mercurial-scm.org/D1164
-
Martin von Zweigbergk authored
It no longer depends on demandimport. Differential Revision: https://phab.mercurial-scm.org/D1163
-
Martin von Zweigbergk authored
A mercurial.bdiff module has existed at some point and when I have built at an old version, some .pyc file or something seems to stick around and test-extension.t fails. Let's remove the reference to bdiff and simplify the test. Differential Revision: https://phab.mercurial-scm.org/D1162
-
Martin von Zweigbergk authored
The leading newline before "ERROR:" led to an incorrect lexing of the message and the newline got lost. The fixed formatting can be seen in the test case. The reason we didn't notice before was that the bad formatting just led to the loss of a blank line in the test. However, there are other cases where it would be joined with a line saying "Accept this change? [n]" or "Reference output has changed (run again to prompt changes)". Differential Revision: https://phab.mercurial-scm.org/D1159
-
Saurabh Singh authored
This test fails when run with chg. This commit just makes the test chg aware by fixing the output of some of the tests. Test Plan: Ran the test 'test-extension.t' with and without '--chg' option. Differential Revision: https://phab.mercurial-scm.org/D1160
-
Saurabh Singh authored
Chg disables demandimport on purpose for performance wins and therefore, it probably makes sense to indicate that demandimport is disabled when chg is running. Test Plan: Ran all the tests. Differential Revision: https://phab.mercurial-scm.org/D1161
-
Jun Wu authored
The show extension reads `commands.show.aliasprefix` config in its `extsetup` and that causes issues with chg. This patch adds that config item to chg confighash to solve the issue. Test Plan: `run-tests.py -l --chg test-show.t` Differential Revision: https://phab.mercurial-scm.org/D1158
-
Augie Fackler authored
Spotted by yuya in review of e87e62b7fc0b. Differential Revision: https://phab.mercurial-scm.org/D1145
-
Augie Fackler authored
We only want to do I/O in terms of bytes, so lets explode early instead of recursing forever. Differential Revision: https://phab.mercurial-scm.org/D1136
-
- Sep 20, 2017
-
-
Boris Feld authored
The part we are using for pull is now used for push too. As we no longer use pushkey, pushkey hooks are no longer triggered. This is an obvious backward incompatible change. We could artificially trigger the pushkey hook within the bundle2 part, but this seemed too hacky to me. An option would be to disable by default this new mechanism for a couple of versions to help people migrate to `txnclose-phase`. I took the liberal and optimistic path to just turn it on by default directly. .. bc:: Push no longer triggers a pushkey hook when updating phases. Use the new `txnclose-phase` and `txnclose-phase` hooks instead. (Applies when both server and client use version 4.4 or above).
-
- Oct 17, 2017
-
-
Phil Cohen authored
`filecmp` follows symlinks by default, which a `filectx.cmp()` call should not be doing as it should only compare the requested entry. After this patch, only the contexts' data are compared, which is the correct contract. This is a corrected version of D1122. Differential Revision: https://phab.mercurial-scm.org/D1165
-
- Sep 14, 2015
-
-
Augie Fackler authored
For now all .c and .h files are blacklisted. As they become clang-formatted, we'll remove them from the blacklist,and then this test will produce output if there are diffs. Differential Revision: https://phab.mercurial-scm.org/D1133
-
- Oct 17, 2017
-
-
Mark Thomas authored
Fix regression introduced in D785. In some circumstances, context.clearunknown can be called before the path is audited. Audit the path before deleting any conflicting files. Differential Revision: https://phab.mercurial-scm.org/D1157
-
Mark Thomas authored
D785 regressed behavior in path auditing: files can be deleted if they have a path that conflicts with a filename from a malicious remote or bundle. This test demonstrates the problem - the file should not have been deleted. Differential Revision: https://phab.mercurial-scm.org/D1156
-
- Oct 13, 2017
-
-
Boris Feld authored
The shelve extensions import and call rebase content without loading the extension. This is problematic as the config items rebase uses are not declared and the default value are not set, etc... The shelve extension should be using core utilities only and the necessary bit should be moved from rebase into core. In the meantime, I'm taking a small step to get config registration completed with minimal overhead. The rebase extension is shipped with core so registering its config option within core is not a big issue. This is the last step needed before we can install a warning that enforces all config to be registered.
-
Boris Feld authored
Similar to the change we did to the 'acl' extensions, we want to make sure the config items are registered before we run the hooks.
-
Boris Feld authored
The acl extension is usually setup through hooks and never directly activated. This means the config item declared in the extension are not loaded. We add the necessary logic to make sure the extensions are loaded before the hook run.
-
- Oct 16, 2017
-
-
Boris Feld authored
-
- Oct 08, 2017
-
-
Boris Feld authored
-
Boris Feld authored
We register the merge-tools config section (which has an arbitrary base config value) and the possible sub-attribute. The sub-attribute has to be registered first or at the same time otherwise the '.*' item would shadow them. Merge tools could include "." in their name so we can't constrain any more than just ".*".
-
- Oct 14, 2017
-
-
Paul Morelle authored
The option experimental.sparse-read.min-block-size specifies the minimal size of a deltachain span, under which it won't be split by _slicechunk.
-
- Oct 10, 2017
-
-
Paul Morelle authored
Delta chains can become quite sparse if there is a lot of unrelated data between relevant pieces. Right now, revlog always reads all the necessary data for the delta chain in one single read. This can lead to a lot of unrelated data to be read (see issue5482 for more details). One can use the `experimental.maxdeltachainspan` option with a large value (or -1) to easily produce a very sparse delta chain. This change introduces the ability to slice the chunks retrieval into multiple reads, skipping large sections of unrelated data. Preliminary testing shows interesting results. For example the peak memory consumption to read a manifest on a large repository is reduced from 600MB to 250MB (200MB without maxdeltachainspan). However, the slicing itself and the multiple reads can have an negative impact on performance. This is why the new feature is hidden behind an experimental flag. Future changesets will add various parameters to control the slicing heuristics. We hope to experiment a wide variety of repositories during 4.4 and hopefully turn the feature on by default in 4.5. As a first try, the algorithm itself is prone to deep changes. However, we wish to define APIs and have a baseline to work on.
-
- Oct 09, 2017
-
-
Paul Morelle authored
When a merge commit creates an empty diff in the revlog, its offset may still be quite far from the end of the previous chunk. Skipping these empty chunks may reduce read size significantly. In most cases, there is no gain, and in some cases, little gain. On my clone of pypy, `hg manifest` reads 65% less bytes (96140 i/o 275943) for revision 4260 by ignoring the only empty trailing diff. For revision 2229, 35% (34557 i/o 53435) Sadly, this is difficult to reproduce, as hg clone can make its own different structure every time.
-
- Sep 20, 2017
-
-
Boris Feld authored
Move the logic to build bundle2 pushkey part into its dedicated function. It will help to keep the logic clear when adding support for sending phases change using 'phase-heads' part.
-
- Oct 11, 2017
-
-
Boris Feld authored
We are about to switch phase pushing from using pushkey to using a the new dedicated binary part. We introduce the push race detection on its own to help detect potential impact.
-
Boris Feld authored
This part checks if revisions are still in the same phase as when the bundle was generated. This is similar to what 'check:heads' or 'check:updated-heads' bundle2 part achieves for changesets. We needs seems before we can move away from pushkey usage from phase since pushkey has it own built-in push-race detection.
-
Boris Feld authored
We keep useful phase information around. The data will be reused with detecting push-race in later changesets.
-
Boris Feld authored
We'll rework the code around this check. Limiting the entanglement will help with later changesets
-
- Oct 16, 2017
-
-
Boris Feld authored
This comment is about: issue3781: Courtesy Phases synchronisation to publishing server prevent subrepo push Not about: issue3871: Slow hg log when template contains {file_adds}, {file_mods} and {file_dels}
-
- Oct 11, 2017
-
-
Boris Feld authored
The on-disk file can contain draft root that are descendants of secret root. The resulting phase computation is correct, but the phases root content is not. I will send another series to introduce code that remove some of the cases where this can happens, but we first need to damage control the existing case. After this changeset, we can no longer advertise secret changeset as draft root.
-
- Oct 16, 2017
-
-
Matt Harbison authored
Previously, only the top level repo was shared, and then any subrepos were cloned on demand. This is problematic because commits to the parent repo would write an updated .hgsubstate to the share source, but the corresponding subrepo commit would be stuck in the local subrepo. That would prevent an update in the source repo. We already go to great lengths to avoid having inconsistent repos (e.g., `hg push -r rev` will push _everything_ in a subrepo, even if it isn't referenced in one of the parent's outgoing commits). Therefore, this seems like a bug fix, and there's no option to get the old behavior. I can't imagine the previous behavior was useful to anybody. There shouldn't be an issue with svn, since it is centralized. Maybe --git-dir can be used for git subrepos, but I'll leave that to someone more familiar with git. An integer was previously being implicitly returned from commands.share(), which caused dispatch() to start crashing when changing over to returning the shared repo. All error paths appear to raise, so this can be hardcoded to success. The clone command checks for 'is None' in a similar pattern, but since hg.clone() always returns a tuple, that seems wrong? .. fix:: Issue 5675 Creating a share of a repository with a Mercurial subrepository will now share the subrepository. and .. bc:: Mercurial subrepositories are now shared instead of cloned when the parent repository is shared. This prevents dangling subrepository references in the share source. Previously shared repositories with cloned subrepositories will continue to function unchanged.
-
- Oct 15, 2017
-
-
Matt Harbison authored
This goes with eb586ed5d8ce.
-
- Oct 16, 2017
-
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D1121
-
Pulkit Goyal authored
This will help us in determining easily that whether fuzzywuzzy is loaded or not loaded in any of the function. Differential Revision: https://phab.mercurial-scm.org/D1120
-
- Oct 15, 2017
-
-
Pulkit Goyal authored
While producing releasenotes for (4.3::), releasenotes aborts with error because of some bad formatting of releasenotes in some commits. Instead of aborting, this adds warning message which will help us in skipping them and telling user about it. Differential Revision: https://phab.mercurial-scm.org/D1097
-
Pulkit Goyal authored
If fuzzywuzzy is note present, we will not be having the capability to merge existing releasenotes with the new releasenotes on the similarity basis. The merging will still work good for exact same releasenotes entries. Differential Revision: https://phab.mercurial-scm.org/D1096
-
- Oct 17, 2017
-
-
Augie Fackler authored
hgweb can now serve the graph view in Python 3. Differential Revision: https://phab.mercurial-scm.org/D1138
-
Augie Fackler authored
__name__ is unicode, but we need bytes. For now, we'll make the (mostly-safe) assumption that template filter names will be ascii. Differential Revision: https://phab.mercurial-scm.org/D1137
-
Augie Fackler authored
Stops us from choking the templater on Python 3. With this patch applied, much of hgweb works correctly in Python 3. The notable exception is the graph page, which chokes because it gets node IDs as str instead of bytes. Differential Revision: https://phab.mercurial-scm.org/D1135
-
Augie Fackler authored
Gets hgweb very close to working with Python 3. Differential Revision: https://phab.mercurial-scm.org/D1134
-