Sat, 11 Apr 2020 00:47:32 +0900 rust-chg: reimplement locator by using async/await and tokio-0.2
Yuya Nishihara <yuya@tcha.org> [Sat, 11 Apr 2020 00:47:32 +0900] rev 44753
rust-chg: reimplement locator by using async/await and tokio-0.2 connect_spawned() is rewritten from scratch by using std::process. Before, it would select completion of either connection or server process. New code could be implemented as such, but it's much simpler to occasionally run try_wait() to detect server death. Differential Revision: https://phab.mercurial-scm.org/D8447
Fri, 10 Apr 2020 23:26:36 +0900 rust-chg: reimplement ChgClientExt as ChgClient wrapper
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 23:26:36 +0900] rev 44752
rust-chg: reimplement ChgClientExt as ChgClient wrapper ChgClient is no longer an extension trait because: a. Client object is not consumed and recreated in future-0.3 world, which unblocks writing a simple wrapper struct. b. async fn isn't allowed in trait. Overall, the API should become simpler. Differential Revision: https://phab.mercurial-scm.org/D8446
Fri, 10 Apr 2020 22:44:51 +0900 rust-chg: reimplement run_command operation as async function
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 22:44:51 +0900] rev 44751
rust-chg: reimplement run_command operation as async function The crafted state machine is no longer needed thanks to async/await. The state machine is basically rewritten as follows: - Ready(..) -> return .. - PollAgain(..) -> run .. and await - Err(..) -> return Err(..) Differential Revision: https://phab.mercurial-scm.org/D8445
Fri, 10 Apr 2020 22:23:10 +0900 rust-chg: reimplement uihandler by using async-trait and tokio-0.2
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 22:23:10 +0900] rev 44750
rust-chg: reimplement uihandler by using async-trait and tokio-0.2 We no longer have to consume self and arguments. Differential Revision: https://phab.mercurial-scm.org/D8444
Fri, 10 Apr 2020 23:08:57 +0900 rust-chg: have attach_io() simply take reference of AsRawFd object
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 23:08:57 +0900] rev 44749
rust-chg: have attach_io() simply take reference of AsRawFd object We no longer have to deal with the restriction of the Future type. Before, these file objects couldn't be references and that's the only reason why we had to make stderr an Option<T>. This fixes future type deduction issue of stderr = None, where rustc would complain that T of Option<T> couldn't be deduced. Differential Revision: https://phab.mercurial-scm.org/D8443
Thu, 23 Apr 2020 09:59:38 +0200 rust-status: check for '.hg' regardless of file type (issue6300) stable
Raphaël Gomès <rgomes@octobus.net> [Thu, 23 Apr 2020 09:59:38 +0200] rev 44748
rust-status: check for '.hg' regardless of file type (issue6300) '.hg' would show up in `hg status` if were a symlink. Differential Revision: https://phab.mercurial-scm.org/D8461
Mon, 20 Apr 2020 11:03:31 +0200 rust: remove extra empty line stable
Raphaël Gomès <rgomes@octobus.net> [Mon, 20 Apr 2020 11:03:31 +0200] rev 44747
rust: remove extra empty line This is a gratuitous cleanup. Differential Revision: https://phab.mercurial-scm.org/D8460
Wed, 15 Apr 2020 18:10:19 +0200 upgrade: properly filter action depending on planned work stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Apr 2020 18:10:19 +0200] rev 44746
upgrade: properly filter action depending on planned work The `determineactions` function filters out deficiency that are not scheduled to be fixed by the target repository configuration. However it only did so for requirement we currently support, letting other actions for unsupported requirement through even if the target repo configuration did not request it. As a result the output of the command was easily polluted by experimental feature with no upgrade support. We rework the code to still filter out requirement based action without the faulty filtering. Differential Revision: https://phab.mercurial-scm.org/D8427
Mon, 13 Apr 2020 18:04:55 +0200 nodemap: skip persistent nodemap warming for revlog not using it stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 13 Apr 2020 18:04:55 +0200] rev 44745
nodemap: skip persistent nodemap warming for revlog not using it Before this patch, the usual checking (especially, inline-ess) were not performed when warming the cache through `hg debugupdatecache`. This is now fixed. Differential Revision: https://phab.mercurial-scm.org/D8408
Thu, 16 Apr 2020 22:56:03 +0200 wait-on-file: adjust the timer counter stable
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 16 Apr 2020 22:56:03 +0200] rev 44744
wait-on-file: adjust the timer counter The wait performed in increment of 0.01 second, but the timer was expressed in second. So we did not wait 20s, we waited 0.2 second. Internally we adjust the counter to be expressed in centisecond. This prevent some flackyness in the test. Differential Revision: https://phab.mercurial-scm.org/D8453
Sun, 19 Apr 2020 17:33:08 -0700 packaging: add docutils as dependency stable
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 19 Apr 2020 17:33:08 -0700] rev 44743
packaging: add docutils as dependency The previous commit revealed that attempting to run `python setup.py build_doc` from the packaging virtualenv failed due to missing docutils package. We didn't notice this before because py2exe Windows packaging appears to use a Python from another virtualenv (which does include docutils) to invoke setup.py. I discovered this as part of implementing packaging outside of that virtualenv environment. Differential Revision: https://phab.mercurial-scm.org/D8470
Sun, 19 Apr 2020 17:26:52 -0700 setup: use sysstr() on process output stable
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 19 Apr 2020 17:26:52 -0700] rev 44742
setup: use sysstr() on process output Otherwise we get a str-bytes mismatch on Python 3 if an error occurs. Differential Revision: https://phab.mercurial-scm.org/D8469
Sat, 28 Mar 2020 08:18:11 -0700 automation: install latest Python versions in Linux stable
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 28 Mar 2020 08:18:11 -0700] rev 44741
automation: install latest Python versions in Linux Staying up to date. Keeping parity with the Windows environment. Differential Revision: https://phab.mercurial-scm.org/D8467
Tue, 21 Apr 2020 19:33:57 -0700 contrib: update to latest Python 2.7, 3.7, and 3.8 stable
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 21 Apr 2020 19:33:57 -0700] rev 44740
contrib: update to latest Python 2.7, 3.7, and 3.8 We would ideally update the 3.5 and 3.6 versions as well. But Python didn't generate exe installers for newer versions for some reason. Differential Revision: https://phab.mercurial-scm.org/D8466
Sun, 19 Apr 2020 13:29:50 -0700 automation: always use latest Windows AMI stable
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 19 Apr 2020 13:29:50 -0700] rev 44739
automation: always use latest Windows AMI The old AMI isn't available any more. We seem to run into this problem every few months. Amazon (or Microsoft) appears to be removing the old AMIs when they are superseded or something. Let's give up on tracking known images and switch the image selection logic to use the latest published image. Differential Revision: https://phab.mercurial-scm.org/D8465
Fri, 10 Apr 2020 22:07:11 +0900 rust-chg: reimplement attach_io operation as async function
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 22:07:11 +0900] rev 44738
rust-chg: reimplement attach_io operation as async function In short, MessageLoop<Connection> was redesigned as Protocol<Connection>, and the protocol methods no longer consume self. API changes are briefly documented in the following page: https://docs.rs/tokio-hglib/0.3.0/tokio_hglib/struct.Protocol.html Differential Revision: https://phab.mercurial-scm.org/D8442
Fri, 10 Apr 2020 21:54:03 +0900 rust-chg: upgrade to futures-0.3 based libraries
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 21:54:03 +0900] rev 44737
rust-chg: upgrade to futures-0.3 based libraries And do some trivial fixes: - BytesMut::put_u32_be() -> put_u32() - tokio_process -> tokio::process, CommandExt -> Command, spawn_async() -> spawn(), stdin() -> stdin - tokio_timer::sleep() -> tokio::time::delay_for() Differential Revision: https://phab.mercurial-scm.org/D8441
Fri, 10 Apr 2020 21:44:46 +0900 rust-chg: exclude futures-dependent modules from build and break things
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 21:44:46 +0900] rev 44736
rust-chg: exclude futures-dependent modules from build and break things It's impractical to upgrade the codebase incrementally since futures 0.1 and 0.3 APIs are fundamentally different. So this patch temporarily excludes futures-dependent modules from the build. These modules will be upgraded and re-enabled one by one. Differential Revision: https://phab.mercurial-scm.org/D8440
Fri, 17 Apr 2020 21:00:18 -0400 tests: stabilize test-log.t on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 17 Apr 2020 21:00:18 -0400] rev 44735
tests: stabilize test-log.t on Windows I think this is because Windows doesn't recognize single quote. Other ssh based clones use this clunky style too. Differential Revision: https://phab.mercurial-scm.org/D8459
Fri, 17 Apr 2020 18:47:31 -0400 tests: stabilize test-convert-hg-source.t on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 17 Apr 2020 18:47:31 -0400] rev 44734
tests: stabilize test-convert-hg-source.t on Windows This was a missing update in 1b8fd4af3318. Differential Revision: https://phab.mercurial-scm.org/D8458
Mon, 20 Apr 2020 14:37:10 -0700 commit: tell user what to do with .hg/last-message.txt
Martin von Zweigbergk <martinvonz@google.com> [Mon, 20 Apr 2020 14:37:10 -0700] rev 44733
commit: tell user what to do with .hg/last-message.txt I have always assumed that the message will be reused by the next `hg commit`, but it seems it's just silently dropped on the next commit. Let's try to be more helpful by telling the user that they have to manually tell hg to reuse it. The file will still be lost if the user runs some other operation in between (like a non-in-memory rebase). That will be fixed once we've switched all operations to be in-memory :) I didn't include `$(hg root)/` in the path in the message to the user because that would have made the message too long. Hopefully the user will figure that part out themselves. Differential Revision: https://phab.mercurial-scm.org/D8463
Fri, 17 Apr 2020 19:35:18 +0900 test-check-rust-format: specify --edition=2018
Yuya Nishihara <yuya@tcha.org> [Fri, 17 Apr 2020 19:35:18 +0900] rev 44732
test-check-rust-format: specify --edition=2018 rustfmt doesn't read Cargo.toml unless it's executed by cargo. https://github.com/rust-lang/rustfmt#rusts-editions
Thu, 16 Apr 2020 22:55:41 +0530 Added signature for changeset 26ce8e751503 stable
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Apr 2020 22:55:41 +0530] rev 44731
Added signature for changeset 26ce8e751503
Thu, 16 Apr 2020 22:55:40 +0530 Added tag 5.4rc0 for changeset 26ce8e751503 stable
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Apr 2020 22:55:40 +0530] rev 44730
Added tag 5.4rc0 for changeset 26ce8e751503
Thu, 16 Apr 2020 22:51:09 +0530 merge default into stable for 5.4 release stable 5.4rc0
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 16 Apr 2020 22:51:09 +0530] rev 44729
merge default into stable for 5.4 release
Thu, 16 Apr 2020 22:30:11 +0900 templatekw: fix shownames() to check if namespace exists in repo (issue6301)
Yuya Nishihara <yuya@tcha.org> [Thu, 16 Apr 2020 22:30:11 +0900] rev 44728
templatekw: fix shownames() to check if namespace exists in repo (issue6301) Namespace registration is dynamic, but the corresponding template keyword is registered statically.
Wed, 15 Apr 2020 20:10:35 +0200 wait-on-file: use proper variable in math
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Apr 2020 20:10:35 +0200] rev 44727
wait-on-file: use proper variable in math This seems better and safer to be explicit. Differential Revision: https://phab.mercurial-scm.org/D8426
Wed, 15 Apr 2020 20:08:36 +0200 wait-on-file: don't quote arithmetic argument
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 15 Apr 2020 20:08:36 +0200] rev 44726
wait-on-file: don't quote arithmetic argument This is unnecessary and Mac OS X choke on them. Differential Revision: https://phab.mercurial-scm.org/D8425
Tue, 14 Apr 2020 19:09:56 -0400 graft: exit 1 on conflicts, like merge
Valentin Gatien-Baron <vgatien-baron@janestreet.com> [Tue, 14 Apr 2020 19:09:56 -0400] rev 44725
graft: exit 1 on conflicts, like merge It's more consistent, and makes it nicer to script around hg if you don't have to ignore exit code 255, which is the error code for basically everything in hg. Differential Revision: https://phab.mercurial-scm.org/D8423
Fri, 10 Apr 2020 19:58:34 +0200 tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems
Joerg Sonnenberger <joerg@bec.de> [Fri, 10 Apr 2020 19:58:34 +0200] rev 44724
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems BSD-derived systems will use "ls -A" when running as root. Adjust the test cases to always use the flag and include .hg and related output as appropiately. Differential Revision: https://phab.mercurial-scm.org/D8397
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip