Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Jun 2018 11:07:40 -0700] rev 38423
scmutil: make cleanupnodes optionally also fix the phase
We have had multiple bugs where the phase wasn't correctly carried
forward to a rewritten changeset (for example: phabricator, split,
evolve, fix). Handling the phase update in cleanupnodes() makes it
less likely to happen again, especially once we have made it fix the
phase by default (perhaps in the next release cycle).
This patch also updates all applicable callers so we get some testing
of it.
Note that rebase and histedit can't be fixed yet because they call
cleanupnodes() only at the end and the phase may have been changed by
the user when the rebase/histedit was interrupted (due to merge
conflicts). I think we should make them write one commit at a time (as
it already does), along with associated obsmarkers, bookmark moves,
etc. When that's done, we can switch them over to cleanupnodes().
Differential Revision: https://phab.mercurial-scm.org/D3818
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Jun 2018 11:07:23 -0700] rev 38422
tests: add test of uncommit with default phase as secret
We didn't seem to have any test checking that uncommitting a draft
commit with phase.new-phase=secret preserved the draft phase.
Differential Revision: https://phab.mercurial-scm.org/D3817
Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> [Sun, 17 Jun 2018 15:52:08 +0530] rev 38421
grep: add --diff flag
Adds a diff flag, which works exactly same as all, in fact since
--all searches diffs, there diff is a better name for it.
The all flag is still here for backward compatibility reasons.
Some major tests for all has been picked and added for diff.
Differential Revision: https://phab.mercurial-scm.org/D3763
Martin von Zweigbergk <martinvonz@google.com> [Wed, 20 Jun 2018 09:27:30 -0700] rev 38420
fix: include cleanupnodes() in transaction
As pointed out by Yuya, we need a transaction to make sure the state
before the call to cleanupnodes() is not observable.
Differential Revision: https://phab.mercurial-scm.org/D3823
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Jun 2018 22:19:37 -0700] rev 38419
progress: enforce use of complete() on the helper class
complete() is preferred over update(None), so let's enforce that.
Differential Revision: https://phab.mercurial-scm.org/D3822
Martin von Zweigbergk <martinvonz@google.com> [Tue, 19 Jun 2018 22:11:34 -0700] rev 38418
progress: extract function for closing topic
progress(None) had a completely different implementation from the
progress(<not None>) implementation. It very much feels like it should
be a separate method, so this patch makes it so. That also makes it
clear that only the topic parameter matters when closing a topic
(e.g. "total" does not matter).
Differential Revision: https://phab.mercurial-scm.org/D3821