- Jun 06, 2018
-
-
Boris Feld authored
When the internal phase is used, the internal commits we create during shelve will be automatically hidden, and we don't need to strip them. Avoiding strips gives much better performances and is less traumatic for caches. Test changes are all related to revision numbers increasing more quickly since we avoid stripping. At the end of `test-shelve.t` we now need manually strip the shelve-commit in addition to the x.shelve file deletion. This emulates a preexisting shelve after a repository upgrade. Note: The hidden internal commits confuses rebase a bit as shown by a new test added. This will happen when the user have shelve commits on top of a changeset to be rebased. We'll fix this in the next commit. As we still use a backup bundle, rebase can just strip the internal changesets and be fine.
-
- Sep 19, 2018
-
-
Martin von Zweigbergk authored
This tells meld to resolve trivial conflicts before presenting the user with the remaining conflicts. This was attempted 5 years ago, but then --auto-merge was too new that the patch was rejected out of concern that users still had an older version of meld installed [1]. Maybe it's safe to assume that they have a newer version now. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2013-April/050084.html Differential Revision: https://phab.mercurial-scm.org/D4665
-
- Sep 21, 2018
-
-
Matt Harbison authored
In 7f8b7a060584, I quoted this to support python being installed to "Program Files". Even though the string passed to os.popen() is this: "c:/Python27/python.exe" -c "import mercurial; print (mercurial.__path__[0])" ... cmd.exe is trying to run this: 'c:/Python27/python.exe" -c "import' This caused test-hghave.t to fail, reporting 'unexpected mercurial lib: ""', because the failed execution prints nothing to stdout. Py3 fails as though it's not quoted. For whatever reason, print() shows up in the output when run with py2, but not py3, so I'm having a hard time debugging this. For now, let's fix the buildbot.
-
- Sep 20, 2018
-
-
Pulkit Goyal authored
Python 3 does not allow to use '%s' for integers. Differential Revision: https://phab.mercurial-scm.org/D4688
-
Pulkit Goyal authored
This makes the test work on Python 3. Differential Revision: https://phab.mercurial-scm.org/D4687
-
- Sep 19, 2018
-
-
Yuya Nishihara authored
While rewriting chg in Rust, I noticed the server leaks the client's pager fd. This isn't a problem right now since the IPC process terminates earlier than the pager, but I believe the fds attached within a "runcommand" request should be released as soon as the session ends.
-
Yuya Nishihara authored
I want to make it use a separate saved buffer for "attachio" requests within "runcommand" session. See the next patch for details.
-
- Sep 15, 2018
-
-
Yuya Nishihara authored
They are just printable messages, not data that should be fed to JSON or templater.
-
Yuya Nishihara authored
Each dict should represent data of the same kind.
-
Yuya Nishihara authored
-
- Sep 20, 2018
-
-
Kyle Lippincott authored
We have an overlay filesystem which shows the entire repository, and unlinking a file that's in the underlying data store will create "tombstone" entries, which are going to cause our automatic tracking to re-add these directories. We need to use a different (non-posix) interface to clean up items in the working directory that are no longer relevant. Extracting this to a function lets us use extensions.wrappedfunction and perform this cleanup work, even if the paths aren't in the dirstate (they may have been removed in the past and thus entirely "tombstone" entries already, part of hgignore, exclusively directories (possibly empty), or other edge cases). Differential Revision: https://phab.mercurial-scm.org/D4681
-
Augie Fackler authored
I got concerned about the correctness of the pruning logic, but I was misreading it. I didn't figure that out until I walked all the way back to 0252abaafb8a from 20111, where I was finally able to see (in the deleted side of the change!) a complete explanation from b6d9ea0bc107 in 2005. Differential Revision: https://phab.mercurial-scm.org/D4686
-
Augie Fackler authored
It's extracted so extensions can filter manifest nodes if needed. This is an unfortunate hack, but I think I only need it for manifests. The long-term solution will be to rework the relationship between changegroups and storage so that this isn't required. Differential Revision: https://phab.mercurial-scm.org/D4685
-
Augie Fackler authored
Differential Revision: https://phab.mercurial-scm.org/D4684
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D4677
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D4676
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D4675
-
Pulkit Goyal authored
# skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D4674
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D4673
-
Pulkit Goyal authored
# skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D4672
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D4671
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D4670
-
- Sep 17, 2018
-
-
Anton Shestakov authored
Support for bundle2 streaming clones has been shipped in Mercurial 4.5 (7eedbd5d4880), but was never activated by default. It's time to have more people use it. The new format allows streaming clones to transport cache (hooray for speed) and phaseroots (fixes phase-related issues). Changes in tests: bundle2 capabilities now have "stream=v2" (plus a '\n' as a separator) and therefore take 14 bytes more: "%0Astream%3Dv2". Tip for tests that have data encoded with CBOR: 0xd3 - 0xc5 = 14. $USUAL_BUNDLE2_CAPS$ replaces $USUAL_BUNDLE2_CAPS_SERVER$, which is the same thing, but without "stream=v2". Since streaming clones now also transfer caches, the reported byte and file counts are higher (e.g. 816 bytes in 9 files instead of 613 bytes in 4 files, a bit of --debug and manual math confirms that the caches take these extra 203 bytes in 5 files). Differential Revision: https://phab.mercurial-scm.org/D4680
-
Anton Shestakov authored
Differential Revision: https://phab.mercurial-scm.org/D4679
-
- Sep 20, 2018
-
-
Anton Shestakov authored
This test is interested only in capabilities that are related to narrow, so let's omit everything else. Makes it easier to update other capabilities (and "rev-branch-cache" is one of the usual patterns that are already present in tests/common-patterns.py anyway). Differential Revision: https://phab.mercurial-scm.org/D4678
-
Matt Harbison authored
Presumably we're going to want to use CreateProcessW(), and possibly get rid of pycompat.getcwd() here (which maps to the DeprecationWarning causing os.getcwdb()) to use os.getcwd() directly. But this was a minimal change to get rid of some stacktraces in test-run-tests.t.
-
Matt Harbison authored
Any call to this issues a DeprecationWarning about the Windows bytes API being deprecated. There are a handful of these calls in core, but test-run-tests.t was littered with these, as it's printed everytime run-tests.py is launched. I'm not sure what the long term strategy for Unicode on Windows in the test runner is, but this seems no worse than the current conversion strategy.
-
Matt Harbison authored
Same reason as 5abc47d4ca6b. This covers running *.py tests, as well as inline python blocks. I didn't hit the path around line 3079, but it seems correct to quote.
-
- Sep 18, 2018
-
-
Augie Fackler authored
It turns out they've never actually worked: prior to some recent refactoring they just unintentionally followed the full-clone path, which we unintentionally relied on in a test at Google. Differential Revision: https://phab.mercurial-scm.org/D4640
-
- Sep 20, 2018
-
-
Martin von Zweigbergk authored
peer.commandexecutor()'s context manager waits for all responses to arrive in its __exit__() method. We want to process the results as they arrive, so we should do that inside the context manager scope. Note that the futures' result() methods have been replaced to make sure that the command executor's sendcommands() method is called when the first future's result is requested, so we don't need to do that. A minor side-effect is that we can no longer easily tell when the server has started sending us responses, so that long statement was lost. Differential Revision: https://phab.mercurial-scm.org/D4666
-
- Sep 19, 2018
-
-
Matt Harbison authored
Without this, TESTDIR and a few other variables weren't defined in the *.t test. I didn't bother implementing all of the view functions for simplicity. All that is actually used is __{get,set}item__(), get() and pop(), but the rest seems easy enough to add for futureproofing.
-
- May 22, 2018
-
-
Sean Farley authored
This was originally written before we had modifiednodeid and addednodeid, so we had to get the parents of the context, the data from the function, and then hash that. This is much more simple now and helps refactor more code later.
-
Sean Farley authored
It seems that this was maybe used in an extension but at this point nothing in lfs, hg-experimental, or any other cursory repo looked at has a reference to this class; so, for now, let's just remove it.
-
- Jun 12, 2018
-
-
Sean Farley authored
This was probably a copy pasta error in 745e3b485632. Refactoring memctx code exposed this bug.
-
- Jul 18, 2018
-
-
Sean Farley authored
How is this not blowing up everywhere? It seems that filelog.renamed has always returned False (incorrectly a boolean) instead of the assumed None. Tracing through history, you need to skip over my move of code in 2013 by annotating from 896193a9cab4^ and you can see the original code is from 2007 (180a3eee4b75) and that ab9fa7a85dd9 broke this by assuming renamed was a bool (instead of None). Refactoring memctx code later exposed this bug.
-
- Sep 19, 2018
-
-
Matt Harbison authored
-
Matt Harbison authored
The corresponding *.t still fails because of bytes (with a 'b' prefix) vs str printing, but no longer crashes. # skip-blame for b'' prefixing
-
Matt Harbison authored
Python3 defaults to installing under "Program Files".
-
Matt Harbison authored
I tried ./contrib/byteify-strings.py, but there were way too many changes (and most looked wrong). This was hit with test-check-interfaces.py. # skip-blame for b'' prefixes
-
- Sep 03, 2018
-
-
Yuya Nishihara authored
It wasn't necessary before, but user templates may have keywords that aren't filled in by the changesetformatter.
-