Thu, 16 Apr 2020 17:31:11 +0200 rust: add option of static linking a local Re2 install
Raphaël Gomès <rgomes@octobus.net> [Thu, 16 Apr 2020 17:31:11 +0200] rev 44713
rust: add option of static linking a local Re2 install Previously, only dynamically linking the system-wide install was possible. We force the user to provide one to prevent hard-to-track errors. Differential Revision: https://phab.mercurial-scm.org/D8451
Wed, 15 Apr 2020 23:11:55 +0900 templatekw: cache mergestate even if merge is not ongoing
Yuya Nishihara <yuya@tcha.org> [Wed, 15 Apr 2020 23:11:55 +0900] rev 44712
templatekw: cache mergestate even if merge is not ongoing While playing with eBPF, I noticed .hg/merge/state{,2} files were tried to open() for each revision. That's not healthy. Let's cache the "inactive" state as well.
Wed, 15 Apr 2020 19:24:21 +0900 revset: remove explicit sort() from unstable()
Yuya Nishihara <yuya@tcha.org> [Wed, 15 Apr 2020 19:24:21 +0900] rev 44711
revset: remove explicit sort() from unstable() The instability should be dealt with by baseset.__init__(), and the returned smartset is ordered by 'subset &' anyway.
Fri, 10 Apr 2020 22:23:44 +0800 revset: implement a simple 'foo#generations' expression
Anton Shestakov <av6@dwimlabs.net> [Fri, 10 Apr 2020 22:23:44 +0800] rev 44710
revset: implement a simple 'foo#generations' expression The result of this expression is equivalent to 'foo#g[:]': all reachable ancestors and descendants of a revset foo. While not very useful functionality on its own, its implementation can be tested and revset.relations dict can be easily used by extensions to add other non-subscript relations. Differential Revision: https://phab.mercurial-scm.org/D8394
Fri, 10 Apr 2020 22:22:09 +0800 revset: rename generationsrel() to generationssubrel()
Anton Shestakov <av6@dwimlabs.net> [Fri, 10 Apr 2020 22:22:09 +0800] rev 44709
revset: rename generationsrel() to generationssubrel() This highlights that this is an implementation of 'x#y[z]' relation subscript operator as opposed to 'x#y' relation operator. Differential Revision: https://phab.mercurial-scm.org/D8393
Thu, 02 Apr 2020 16:02:21 -0400 manifest: leave a TODO where we may have more work for sha1 portability
Augie Fackler <augie@google.com> [Thu, 02 Apr 2020 16:02:21 -0400] rev 44708
manifest: leave a TODO where we may have more work for sha1 portability Differential Revision: https://phab.mercurial-scm.org/D8375
Wed, 08 Jan 2020 11:33:01 -0500 manifest: add test for long hashes
Augie Fackler <augie@google.com> [Wed, 08 Jan 2020 11:33:01 -0500] rev 44707
manifest: add test for long hashes Differential Revision: https://phab.mercurial-scm.org/D8373
Thu, 02 Apr 2020 16:24:34 -0400 manifest: remove a final 40-byte assumption from pure-python parser
Augie Fackler <augie@google.com> [Thu, 02 Apr 2020 16:24:34 -0400] rev 44706
manifest: remove a final 40-byte assumption from pure-python parser Differential Revision: https://phab.mercurial-scm.org/D8372
Thu, 02 Apr 2020 16:01:36 -0400 manifest: fix yet another 20-byte-hash assumption
Augie Fackler <augie@google.com> [Thu, 02 Apr 2020 16:01:36 -0400] rev 44705
manifest: fix yet another 20-byte-hash assumption Differential Revision: https://phab.mercurial-scm.org/D8371
Thu, 02 Apr 2020 15:57:07 -0400 manifest: fix another pure-parsing 20-byte assumption
Augie Fackler <augie@google.com> [Thu, 02 Apr 2020 15:57:07 -0400] rev 44704
manifest: fix another pure-parsing 20-byte assumption Differential Revision: https://phab.mercurial-scm.org/D8370
Thu, 02 Apr 2020 15:52:10 -0400 manifest: teach treemanifest about long hashes
Augie Fackler <augie@google.com> [Thu, 02 Apr 2020 15:52:10 -0400] rev 44703
manifest: teach treemanifest about long hashes Differential Revision: https://phab.mercurial-scm.org/D8369
Tue, 07 Jan 2020 13:47:29 -0500 manifest: start removing 40-byte hash restrictions from C code
Augie Fackler <augie@google.com> [Tue, 07 Jan 2020 13:47:29 -0500] rev 44702
manifest: start removing 40-byte hash restrictions from C code Differential Revision: https://phab.mercurial-scm.org/D8368
Tue, 07 Jan 2020 11:25:13 -0500 manifest: remove a 20-byte-hash assumption from pure manifest parsing
Augie Fackler <augie@google.com> [Tue, 07 Jan 2020 11:25:13 -0500] rev 44701
manifest: remove a 20-byte-hash assumption from pure manifest parsing This is almost certainly slower, but it shouldn't be by much. We need to do this for the eventual hash transition, no matter what that looks like. Differential Revision: https://phab.mercurial-scm.org/D8367
Mon, 13 Apr 2020 12:18:29 -0400 revset: mark `extinct()` experimental
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Apr 2020 12:18:29 -0400] rev 44700
revset: mark `extinct()` experimental Differential Revision: https://phab.mercurial-scm.org/D8407
Mon, 13 Apr 2020 12:17:52 -0400 revset: mark `successors()` experimental
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Apr 2020 12:17:52 -0400] rev 44699
revset: mark `successors()` experimental Differential Revision: https://phab.mercurial-scm.org/D8406
Mon, 13 Apr 2020 12:13:22 -0400 revset: mark `obsolete()` experimental
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Apr 2020 12:13:22 -0400] rev 44698
revset: mark `obsolete()` experimental I assume not marking it was unintentional, since the obsolete concept it still experimental. Differential Revision: https://phab.mercurial-scm.org/D8405
Tue, 14 Apr 2020 16:09:38 +0200 nodemap: access the mmap opener option using bytes
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Apr 2020 16:09:38 +0200] rev 44697
nodemap: access the mmap opener option using bytes The key is bytes and need to be accessed s such. Differential Revision: https://phab.mercurial-scm.org/D8413
Tue, 14 Apr 2020 04:17:57 +0200 nodemap: rename a variable to prevent shawoding "_"
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Apr 2020 04:17:57 +0200] rev 44696
nodemap: rename a variable to prevent shawoding "_" This will make pyflakes happy with the next changeset. Differential Revision: https://phab.mercurial-scm.org/D8412
Fri, 10 Apr 2020 22:30:50 +0900 rust-chg: indent process_message() to prepare mass rewrite to futures-0.3
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 22:30:50 +0900] rev 44695
rust-chg: indent process_message() to prepare mass rewrite to futures-0.3 I'll start upgrading the codebase to modern async/await-based implementation, which cannot be done incrementally. This is the last non-breaking patch to prepare for the rewrite. Differential Revision: https://phab.mercurial-scm.org/D8403
Sat, 11 Apr 2020 15:27:08 +0900 rust-chg: move get_umask() call out of run() function
Yuya Nishihara <yuya@tcha.org> [Sat, 11 Apr 2020 15:27:08 +0900] rev 44694
rust-chg: move get_umask() call out of run() function run() will be an async function, but get_umask() isn't thread safe. Differential Revision: https://phab.mercurial-scm.org/D8402
Sat, 11 Apr 2020 00:21:37 +0900 rust-chg: leverage impl trait at argument position
Yuya Nishihara <yuya@tcha.org> [Sat, 11 Apr 2020 00:21:37 +0900] rev 44693
rust-chg: leverage impl trait at argument position Differential Revision: https://phab.mercurial-scm.org/D8401
Mon, 13 Apr 2020 01:19:09 -0400 revset: import `unstable()` from the evolve extension
Matt Harbison <matt_harbison@yahoo.com> [Mon, 13 Apr 2020 01:19:09 -0400] rev 44692
revset: import `unstable()` from the evolve extension Differential Revision: https://phab.mercurial-scm.org/D8404
Fri, 10 Apr 2020 22:33:14 +0200 fastexport: make a diagnostics message more localizable
Joerg Sonnenberger <joerg@bec.de> [Fri, 10 Apr 2020 22:33:14 +0200] rev 44691
fastexport: make a diagnostics message more localizable Differential Revision: https://phab.mercurial-scm.org/D8398
Fri, 10 Apr 2020 21:38:08 +0900 rust-chg: use "crate::" to import local modules
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 21:38:08 +0900] rev 44690
rust-chg: use "crate::" to import local modules I feel it's easier to follow to resolve modules from the crate root than relative path from self module. Differential Revision: https://phab.mercurial-scm.org/D8400
Fri, 10 Apr 2020 21:35:16 +0900 rust-chg: upgrade to 2018 edition and remove useless extern crates
Yuya Nishihara <yuya@tcha.org> [Fri, 10 Apr 2020 21:35:16 +0900] rev 44689
rust-chg: upgrade to 2018 edition and remove useless extern crates Differential Revision: https://phab.mercurial-scm.org/D8399
Thu, 09 Apr 2020 16:06:03 +0530 mergestate: store about files resolved in favour of other
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 09 Apr 2020 16:06:03 +0530] rev 44688
mergestate: store about files resolved in favour of other Committing a merge sometimes wrongly creates a new filenode where it can re-use an existing one. This happens because the commit code does it's own calculation and does not know what happened on merge. This starts storing information in mergestate about files which were automatically merged and the other/remote version of file was used. We need this information at commit to pick the filenode parent for the new commit. This issue was found by Pierre-Yves David and idea to store the relevant parts in mergestate is also suggested by him. Somethings which can be further investigated are: 1) refactoring of commit logic more to depend on this information 2) maybe a more generic solution? Differential Revision: https://phab.mercurial-scm.org/D8392
Thu, 09 Apr 2020 15:44:21 -0400 histedit: add test that an invalid editor doesn't bork client state
Augie Fackler <augie@google.com> [Thu, 09 Apr 2020 15:44:21 -0400] rev 44687
histedit: add test that an invalid editor doesn't bork client state We had a report of a situation like this borking a user at Google, but I can't reproduce it in a test. Let's at least backstop the issue with a test, so we don't accidentally introduce such a bug... Differential Revision: https://phab.mercurial-scm.org/D8391
Tue, 31 Mar 2020 23:25:26 +0900 rust-chg: silence warning about dated coding style
Yuya Nishihara <yuya@tcha.org> [Tue, 31 Mar 2020 23:25:26 +0900] rev 44686
rust-chg: silence warning about dated coding style Differential Revision: https://phab.mercurial-scm.org/D8384
Mon, 19 Nov 2018 20:50:45 +0900 rust-chg: update name of the server process
Yuya Nishihara <yuya@tcha.org> [Mon, 19 Nov 2018 20:50:45 +0900] rev 44685
rust-chg: update name of the server process This is a copy of updateprocname() of hgclient.c. At this point, rust-chg is basically functional. I did dogfooding for a couple of weeks in 2018. There are a few remaining tasks: a. loop detection by CHGINTERNALMARK b. forward unsupported commands (notably serve -d) to real hg c. better handling of early server exception d. modernize codebase (2018 edition, impl trait, async/await) For (d), we'll probably want to switch to async-std, but I'm thinking of upgrading to Tokio 0.2 as an intermediate step since process API isn't ported to async-std yet. I'm pretty sure future migration to async-std will be painless compared to the mass rewrite from futures-0.1 to 0.3. https://github.com/async-rs/async-std/issues/22 Differential Revision: https://phab.mercurial-scm.org/D8383
Thu, 04 Oct 2018 22:44:37 +0900 rust-chg: send client side umask to server
Yuya Nishihara <yuya@tcha.org> [Thu, 04 Oct 2018 22:44:37 +0900] rev 44684
rust-chg: send client side umask to server This is equivalent to forwardumask() of hgclient.c. Differential Revision: https://phab.mercurial-scm.org/D8382
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip