Wed, 11 May 2022 17:56:29 -0700 amend: stop specifying matcher, get all copies in wctx stable
Kyle Lippincott <spectral@google.com> [Wed, 11 May 2022 17:56:29 -0700] rev 49179
amend: stop specifying matcher, get all copies in wctx 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
Wed, 11 May 2022 17:56:10 -0700 amend: add test showing poor behavior when copies are involved stable
Kyle Lippincott <spectral@google.com> [Wed, 11 May 2022 17:56:10 -0700] rev 49178
amend: add test showing poor behavior when copies are involved Differential Revision: https://phab.mercurial-scm.org/D12624
Thu, 21 Apr 2022 10:39:52 -0700 rust-repo: make `Send` by not storing functions in `LazyCell`
Martin von Zweigbergk <martinvonz@google.com> [Thu, 21 Apr 2022 10:39:52 -0700] rev 49177
rust-repo: make `Send` by not storing functions in `LazyCell` We (Google) want to use `Repo` in a context where we can store it in `Mutex<Repo>`. However, that currently doesn't work because it's not `Send` because the `LazyCell` initialization functions are not `Send`. It's easy to fix that by passing them to the `get_or_init()` and `get_mut_or_init()` functions. We'll probably also want `Repo` to be `Send` (and even `Sync`) in core later, so this seems like a step in the right direction. Differential Revision: https://phab.mercurial-scm.org/D12582
Thu, 05 May 2022 14:45:28 -0400 obsolete: remove two unused constants
Augie Fackler <augie@google.com> [Thu, 05 May 2022 14:45:28 -0400] rev 49176
obsolete: remove two unused constants I'm not sure what these constants were intended for, but they have no users so it's time to say goodbye. Differential Revision: https://phab.mercurial-scm.org/D12609
Thu, 05 May 2022 14:47:26 -0400 node: manually implement Debug
Augie Fackler <augie@google.com> [Thu, 05 May 2022 14:47:26 -0400] rev 49175
node: manually implement Debug I got too irritated today with the default Debug implementation of hg::revlog::Node while playing with a new parser. This isn't quite what I wanted, but it wasn't much code and it at least gives you output that's easy to visually compare to a node.hex()ed identifier from the Python side of things. Sadly, this doesn't influence the output in lldb or the VSCode debugger extension that uses lldb under the covers, but it at least means debug prints are a little more useful. Differential Revision: https://phab.mercurial-scm.org/D12608
Thu, 05 May 2022 15:38:29 +0100 censor: make rhg fall back to python when encountering a censored node
Arseniy Alekseyev <aalekseyev@janestreet.com> [Thu, 05 May 2022 15:38:29 +0100] rev 49174
censor: make rhg fall back to python when encountering a censored node This is to make it support censor.policy=ignore without having to duplicate that logic. Also, change the censor test in such a way that it uses rhg now, because extensions are disabled except when we call [hg censor]. Differential Revision: https://phab.mercurial-scm.org/D12607
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 tip