- Jun 02, 2022
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
- May 04, 2022
-
-
idlsoft authored
Reviewer note: this was sent by the author as a simple bugfix, but can be considered a security patch, since it allows users to access things outside of the ACL, hence the (SEC) prefix. However, this affects the `narrow` extention which is still marked as experimental and has relatively few users aside from large companies with their own security layers on top from what we can gather. We feel (Alphare: or at least, I feel) like pinging the packaging list is enough in this case.
-
- May 30, 2022
-
-
Raphaël Gomès authored
This should fix this error we see in the CI from time to time: ``` --- /tmp/mercurial-ci/tests/test-chg.t +++ /tmp/mercurial-ci/tests/test-chg.t.err @@ -187,6 +187,26 @@ $ chg bulkwrite --pager=on --color no --config ui.formatted=True paged! 'going to write massive data\n' killed! (?) + Traceback (most recent call last): + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 509, in _serverequest + sv.cleanup() + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 382, in cleanup + self._restoreio() + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 461, in _restoreio + os.close(fd) + OSError: [Errno 9] Bad file descriptor + Traceback (most recent call last): + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 693, in _acceptnewconnection + self._runworker(conn) + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 744, in _runworker + prereposetups=[self._reposetup], + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/commandserver.py", line 509, in _serverequest + sv.cleanup() + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 382, in cleanup + self._restoreio() + File "/tmp/hgtests._uvojvqb/install/lib/python/mercurial/chgserver.py", line 461, in _restoreio + os.close(fd) + OSError: [Errno 9] Bad file descriptor [255] ```
-
- May 29, 2022
-
-
Manuel Jacob authored
-
- May 24, 2022
-
-
Pierre-Yves David authored
Introduce a first basic template to try the feature.
-
Pierre-Yves David authored
Before this, multiple jobs could search the list at the same time and pick the same free channel. We now project this search/assignment with a simple lock.
-
Pierre-Yves David authored
Sending the message about the test being "done" signals to the main thread that a new test can be started. Before this changeset, we sent this signal before freeing the channel, there is room for a race condition where a new test would search for a channel before the old test freed the one it used. This is an example of the failure it would produce: https://foss.heptapod.net/mercurial/mercurial-devel/-/jobs/552404
-
Pierre-Yves David authored
The next patch will do something equivalent, so lets do the change in an independant changeset first in case we need to bisect something in the future.
-
- May 22, 2022
-
-
Arseniy Alekseyev authored
returning a valid entry for nullrev fix chain that delta against nullrev.
-
Arseniy Alekseyev authored
We are witnessing a crash in the rust code, so we lets make sure this case is tested.
-
- May 17, 2022
-
-
Matt Harbison authored
Python 3.8.0 is the latest I can load on Ubuntu 18.04, and I regularly hit the TypeError because this function is missing. While it can be avoided by disabling worker usage via config option, that's a bit obscure. I'm limiting the function definition to the narrow range of affected pythons because there were other bugs in this area that were worked around, that I don't fully understand. See the bug report for discussions on why the narrow range, and related commits working around other bugs. Differential Revision: https://phab.mercurial-scm.org/D12627
-
- May 04, 2022
-
-
Anton Shestakov authored
The idea and rationale is similar to https://phab.mercurial-scm.org/D12599 (landed as 1b6e381521c5). Differential Revision: https://phab.mercurial-scm.org/D12622
-
Anton Shestakov authored
The idea and rationale is similar to https://phab.mercurial-scm.org/D12599 (landed as 1b6e381521c5). Differential Revision: https://phab.mercurial-scm.org/D12621
-
- May 19, 2022
-
-
Arseniy Alekseyev authored
Use the same algorithm of file append as python does, where we do a manual seek instead of relying on O_APPEND. (see the reasons in the inline comment)
-
- May 17, 2022
-
-
Arseniy Alekseyev authored
Apparently it's not sufficient to modify a file to force the dirstate write-out, so the append code path was untested. By removing a file instead of changing we're forcing append to happen.
-
- May 16, 2022
-
-
Pierre-Yves David authored
The fast the phabricator steps has a `rules` entry makes it selected for the special `merge_requests` pipelines. The other ones behave as default and are not selected tot the mrege_request pipelines. This result in a second pipeline to be created, with only the phabricator pipeline in it. Which usually succeed fast (since there is nothing to do). This is harmful as this create a false sense of "the series is passing" and Gitlab will use this simplistic pipeline for validation. By explicitly preventing the pipeline to be created in the merge-request case, we prevent this situation to happens Note that the job will be dropped (alonside phabricator) in the next two weeks anyway.
-
- May 12, 2022
-
-
Kyle Lippincott authored
When we're recreating the commit that we'll be committing, we don't want to filter our copy information based on just the *new* [versions of the] files we're amending. The test has an example of this case, but for clarity, the situation is: ``` $ hg cp src dst && hg commit <do some work> $ hg amend some_unrelated_file.txt $ hg status --copies A dst A some_unrelated_file.txt ``` What *should* happen is that `dst` should remain marked as a copy of `src`, but this did not previously happen. `matcher` here only includes the files that were specified on the commandline, so it only gets the copy information (if any, in this example there's not) for `some_unrelated_file.txt`. When it goes to apply the memctx to actually create the commit, the file copy information is incomplete and loses the information for the files that shouldn't have been affected at all by the amend. Differential Revision: https://phab.mercurial-scm.org/D12625
-
Kyle Lippincott authored
Differential Revision: https://phab.mercurial-scm.org/D12624
-
- May 04, 2022
-
-
Arseniy Alekseyev authored
Differential Revision: https://phab.mercurial-scm.org/D12604
-
- Apr 22, 2022
-
-
Arseniy Alekseyev authored
Differential Revision: https://phab.mercurial-scm.org/D12584
-
- May 04, 2022
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Raphaël Gomès authored
Nobody cares about this very narrow usecase, and py2 support is over by July 1st. This helps with the CI load, and removes some flakiness.
-
Raphaël Gomès authored
-
- May 03, 2022
-
-
kiilerix authored
The multiple lines were re-flowed to a single line, both in man page and html.
-
- May 04, 2022
-
-
Raphaël Gomès authored
This makes a programming error obvious in cases when it should not be skipped Differential Revision: https://phab.mercurial-scm.org/D12602
-
Raphaël Gomès authored
The Rust path never actually worked. This change also improves clarity of the comment. The next change will ensure we print something when this check fails. Differential Revision: https://phab.mercurial-scm.org/D12601
-
- Apr 28, 2022
-
-
Raphaël Gomès authored
As per the previous patch, the counter was incorrectly carried over from the old docket when it should be reset for a complete rewrite. Differential Revision: https://phab.mercurial-scm.org/D12594
-
Raphaël Gomès authored
This was picked up by @aalekseyev when doing unrelated debugging. The Rust implementation was never resetting this counter, so a brand new file would carry over the old counter. As I write this, my counter is a supposed 7389089 unused bytes for a total of 170978 bytes in the data file. Feel free to post your own high score. Differential Revision: https://phab.mercurial-scm.org/D12593
-
Raphaël Gomès authored
This is more robust. Differential Revision: https://phab.mercurial-scm.org/D12592
-
Raphaël Gomès authored
This is replaced by the more complete `--docket` option to `debugstate`. Differential Revision: https://phab.mercurial-scm.org/D12591
-
Raphaël Gomès authored
This is useful information that we don't easily have access to currently, unless you speak fluent xxd. This replaces `debugdirstateignorepatternshash`, which I'll remove in the next changeset. Differential Revision: https://phab.mercurial-scm.org/D12590
-
- May 03, 2022
-
-
Matt Harbison authored
This bug[1] was causing the zstd entry under "Available Compression Engines" to be omitted from the documentation for some versions of python3. I could upgrade, but past upgrades have broken venvs and clobbered installed packages. It's a trivial workaround, so there's no sense in leaving this subtle issue. It was flushed out by changing the module policy here from 'allow' to 'c', and seeing this error: ImportError: DLL load failed while importing parsers: The parameter is incorrect. [1] https://github.com/python/cpython/issues/87271 Differential Revision: https://phab.mercurial-scm.org/D12599
-
- Apr 25, 2022
-
-
Raphaël Gomès authored
In D12581 I introduced logic to remove the previous dirstate-v2 data file after a new one is created (and its corresponding docket), but the logic was flawed. I fixed it and made it simpler to understand by gather all logic in a single expression. Differential Revision: https://phab.mercurial-scm.org/D12586
-
- Apr 19, 2022
-
-
Raphaël Gomès authored
`rhg` is supposed to be a transparent executable, using a subprocess defeats that purpose. See inline comments for more details. This also introduces the `which` crate to check if the fallback executable actually exists to help debugging (plain `execve` doesn't give much information). The error code 253 is used to signify that the fallback is not found, but may mean in the future that it is otherwise invalid if we start being more specific. Differential Revision: https://phab.mercurial-scm.org/D12578
-
- Apr 27, 2022
-
-
Martin von Zweigbergk authored
Whoever wrote D8463 just used a hard-coded path to `.hg/last-message.text` instead of using the relative path that was already available in the `msgfn` variable (and used just a few lines up in related message). Let's fix that. Differential Revision: https://phab.mercurial-scm.org/D12585
-
- Apr 21, 2022
-
-
Raphaël Gomès authored
This was overlooked before and caused many data files to keep living forever. We could potentially consider adding a random cleanup of them in case they slipped through one day. Differential Revision: https://phab.mercurial-scm.org/D12581
-
Raphaël Gomès authored
This is currently only triggered with the tests ran with `--rhg` without `--rust`, by "luck", there probably always was something to write, like an mtime when also using Rust extensions alongside `rhg`. Differential Revision: https://phab.mercurial-scm.org/D12580
-
- Apr 13, 2022
-
-
Matt Harbison authored
The write function returns `None` if there was no room to write the given data[1]. I don't like that this is effectively an infinite loop if there's never any progress emptying the underlying buffer, but we're no worse off than before, and it fixes random stacktrace popups seen in the py3 build of TortoiseHg. [1] https://docs.python.org/3/library/io.html#io.RawIOBase.write Differential Revision: https://phab.mercurial-scm.org/D12555
-