Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Mar 2020 16:25:22 -0700] rev 44558
tests: simplify test-fix-topology.t slightly by using a `(case !)`
Differential Revision: https://phab.mercurial-scm.org/D8283
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Mar 2020 14:50:00 -0700] rev 44557
tests: fix rebase test broken by earlier cleanup
It turns out I broke one of the rebase tests in
dd2833e4d660 (tests:
use drawdag in test-rebase-collapse.t, 2018-03-18) and didn't notice
until now.
Differential Revision: https://phab.mercurial-scm.org/D8277
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Mar 2020 16:57:38 -0700] rev 44556
rebase: accept multiple --base arguments (BC)
Same reasoning as for the previous patch. Rebase has worked well with
`--base 'A + B'` since
51e7c83e05ee (rebase: calculate ancestors for
--base separately (
issue5420), 2016-11-28).
Differential Revision: https://phab.mercurial-scm.org/D8293
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Mar 2020 16:39:32 -0700] rev 44555
rebase: accept multiple --source arguments (BC)
I think it's a little surprising that `hg rebase -s A -s B` rebases
only `B::` and ignores `A`. That's because the `-s` flag is not a
repeated flag. This patch makes it a repeated flag.
Differential Revision: https://phab.mercurial-scm.org/D8292
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Mar 2020 19:29:02 -0700] rev 44554
rebase: mention -r argument in synopsis
I'm guessing that we simply forgot to mention it there. I was
wondering if maybe `-r` was experimental as long as evolution is, but
that doesn't seem to be the case (`-r` is not marked experimental).
Differential Revision: https://phab.mercurial-scm.org/D8295
Martin von Zweigbergk <martinvonz@google.com> [Fri, 13 Mar 2020 16:36:31 -0700] rev 44553
rebase: remove unused defaults argument values from _definedestmap()
The caller always provides values for these arguments.
Differential Revision: https://phab.mercurial-scm.org/D8291
Matt Harbison <matt_harbison@yahoo.com> [Sun, 16 Feb 2020 17:47:20 -0500] rev 44552
phabricator: add a config knob to create obsolete markers when importing
This too can get a tristate switch if desired. But if so, that needs to happen
by having evolve add the option.
Differential Revision: https://phab.mercurial-scm.org/D8138
Matt Harbison <matt_harbison@yahoo.com> [Sun, 16 Feb 2020 17:17:41 -0500] rev 44551
phabricator: add a config knob to import in the secret phase
For my use anyway, it's better to have a config knob that's always set than to
try to remember a switch. But we can add a tristate switch if desired.
Differential Revision: https://phab.mercurial-scm.org/D8137
Matt Harbison <matt_harbison@yahoo.com> [Sun, 16 Feb 2020 16:13:36 -0500] rev 44550
phabricator: add a `phabimport` command
I've had `alias.phabimport = $hg phabread --stack $1 | $hg import --bypass -`
for a while now, and I suspect others do too. That's limited though, in that it
can't use the information on Phabricator to restore it in the original location,
so I'm making it a first class command.
This doesn't do anything ambitious like that- this is mostly a simplification of
`hg import` to get the equivalent of the alias mentioned above. The `--bypass`
option is hardcoded to be enabled and the message about amending rejects
dropped (rejects aren't created with `--bypass`), because editing patches on
Phabricator seems like an unusual workflow.
This will need other options, like `--obsolete` and `--secret`. I think these
would be more useful as config settings, as I imagine the workflows are pretty
fixed depending on roles. Reviewers who don't queue patches probably never want
`--obsolete`, but may need `--secret`. Reviewers who do will want the former,
but not the latter. I left `--stack` as an option, but that should probably be
a config knob too (or at least default to on)- if the point of this is to avoid
rejects, it doesn't make sense to skip dependencies in most cases.
Evolve is going to need a fix to its wrapping of `cmdutil.tryimportone()`, as it
currently assumes `opts` has an `obsolete` key. It's worked around for now.
Differential Revision: https://phab.mercurial-scm.org/D8136
Raphaël Gomès <rgomes@octobus.net> [Thu, 12 Mar 2020 10:14:40 +0100] rev 44549
rust: update the README with more up-to-date and thorough information
Differential Revision: https://phab.mercurial-scm.org/D8274
Joerg Sonnenberger <joerg@bec.de> [Fri, 08 Dec 2017 02:29:02 +0100] rev 44548
transactions: convert changes['phases'] to list of ranges
Consecutive revisions are often in the same phase, especially public
revisions. This means that a dictionary keyed by the revision for the
phase transitions is highly redundant. Build a list of (range, (old,
new)) entries instead and aggressively merge ranges with the same
transition. For the test case in
issue5691, this reduces memory use by
~20MB.
Differential Revision: https://phab.mercurial-scm.org/D8125
Raphaël Gomès <rgomes@octobus.net> [Wed, 11 Mar 2020 17:42:56 +0100] rev 44547
test-install: don't print Rust re2 bindings information if Rust is not in use
Differential Revision: https://phab.mercurial-scm.org/D8273
Matt Harbison <matt_harbison@yahoo.com> [Mon, 09 Mar 2020 21:35:36 -0400] rev 44546
tests: drop an extraneous (glob) from test-debugbackupbundle.t
Since this was not needed, it ends up causing the test to end with an error
saying that the output changed, but with no diff and a message at the end saying
"no result code from test".
Differential Revision: https://phab.mercurial-scm.org/D8269
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 29 Feb 2020 12:58:38 +0530] rev 44545
pull: add `--confirm` flag to confirm before writing changes
This introduces a new flag to pull command `--confirm` and also a config option
named `pull.confirm` which if used will prompt user describing changes which are
pulled and asking whether to accept them or not.
Differential Revision: https://phab.mercurial-scm.org/D8200
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 29 Feb 2020 12:58:13 +0530] rev 44544
scmutil: add option to register summary callbacks as transaction validators
We have a list of summary callbacks which are run after the transaction is
closed to show what has changed and what not. This patch makes it possible to
register those callbacks as transaction validators so that we can show summary
before committing the transaction and prompt user to accept the changes.
The goal of this is to implement `pull --confirm`.
Differential Revision: https://phab.mercurial-scm.org/D8199