Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 29 Apr 2019 23:43:16 +0530] rev 4641
evolve: mention that --all is default, in list of options
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:47:58 +0530] rev 4640
touch: use util.acceptintervention() for closing the transaction
It will close the transaction on InterventionRequired.
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:45:00 +0530] rev 4639
touch: use context manager for locks
Sushil khanchi <sushilkhanchi97@gmail.com> [Mon, 13 May 2019 18:39:43 +0530] rev 4638
touch: extract the logic of touching rev's to its own function
This refactoring will also help us in using the context manager for locks
in next patches and also help reducing the nested depth.
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 27 May 2019 02:42:11 +0200] rev 4637
changelog: mention user merging in the changelog
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 05 May 2019 18:24:59 +0530] rev 4636
evolve: consider using three way merge to get the user for div resolution
This patch adds the logic to merge the users from two divergent csets
considering the base (i.e three way merge).
The case when all the three are different, we concatenate the two authors
of divergent csets.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 05 May 2019 18:24:50 +0530] rev 4635
evolve: add tests for the case when div csets has different users
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 03 May 2019 01:23:12 +0200] rev 4634
branching: merge with stable
Sushil khanchi <sushilkhanchi97@gmail.com> [Fri, 26 Apr 2019 01:20:08 +0530] rev 4633
evolve: move status msg to verbose mode in content-divergence resolution
As suggested by Pierre-Yves, lets move these too verbose message for the user
to verbose mode to decrease some noise.
Faheem Mitha <faheem@faheem.info> [Fri, 03 May 2019 03:52:44 +0530] rev 4632
debian: Override default value for SPHINXBUILD in docs/makefile
Sphinx now defaults to Python 3 in Debian Buster, so we need to
explicitly select the Python 2 version of sphinx-build for building
docs.
Faheem Mitha <faheem@faheem.info> [Fri, 03 May 2019 03:44:48 +0530] rev 4631
docs: add SPHINXBUILD make variable
This defaults to sphinx-build. The current use case is for the Evolve
Debian package build.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 27 Apr 2019 20:56:37 +0530] rev 4630
topic: add test to increase code coverage in case of multiple topics
This patch adds a test which cover the part that when we have one topic
on top of other topic, this make sure that when evolving it's boundary
are the current active topic (i.e hg stack)
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Apr 2019 17:11:12 +0800] rev 4629
changelog: --no-update is the default, recommend --update instead
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 27 Apr 2019 01:18:08 +0300] rev 4628
topic: drop support for accessing csets in branch stack using bxx (issue6119)
When topic extension is enabled and we have some cset whose hash is `b1234`,
topic extension thinks that we are accessing 1234 cset in current branch stack.
However that's not the case generally. Also I am not sure many people use this
bxxx thing.
Since we have a generic sxxx way to access csets, let's drop support for
accessing csets using bxx which leads to bad behavior.
Looking at the tests, we don't show bxxx in hg stack output anymore.
I update the test to use sxxx instead of bxxxx.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Apr 2019 23:16:29 -0400] rev 4627
legacy: drop the check for `obsolete._enabled`
This looks like an ancient version check, and presumably `minimumhgversion` will
do the same thing.
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Apr 2019 00:21:28 -0400] rev 4626
docs: drop references to the old temporary commit that was created with amend
The sharing.rst page also mentions amend, but the diagrams aren't showing, so
I'm not sure if they're in some other repo and needing to be updated.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:45:16 -0400] rev 4625
templatekw: add `instabilities` alias for `troubles`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:59:48 -0400] rev 4624
revset: switch internal uses and tests to `predecessors` from legacy name
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:33:16 -0400] rev 4623
revset: add `predecessor` aliases for `precursors` and `allprecursors`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 22:24:30 -0400] rev 4622
revset: add `unstable` alias for `troubled`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary. The old name is still
available (but undocumented) for compatibility. `Orphan` was renamed from
`unstable` in core in 4.4, so this seems safe to do now.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:54:52 -0400] rev 4621
docs: change `bumped` references to `phase-divergent`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:41:04 -0400] rev 4620
docs: change `divergent` references to `content-divergent`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:27:54 -0400] rev 4619
docs: change `troubled` references to `unstable`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:24:18 -0400] rev 4618
docs: change `unstable` references to `orphan`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 21:09:47 -0400] rev 4617
doc: correct a typo
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 19:42:42 -0400] rev 4616
docs: change `troubles` references to `instability`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary. There are a couple
instances of 'troublesome' which probably need a word, as deriviatives of
'instability' didn't really fit. At least some of these are in the unlinked
obs-terms.rst page.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 19:32:03 -0400] rev 4615
docs: change `precursors` references to `predecessors`
Per https://www.mercurial-scm.org/wiki/CEDVocabulary
Matt Harbison <matt_harbison@yahoo.com> [Sat, 27 Apr 2019 14:42:48 -0400] rev 4614
docs: import figure diagrams with inkscape 0.92
No changes to the content here. This simply accepts the default option ("This
file contains digital artwork for screen display") on the prompt when first
opened, which is trying to upgrade from 90DPI to 96DPI.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 15:14:21 -0700] rev 4613
messages: standardize on "working copy is now at" including "is"
It seemed that we mostly used "is", but `hg next` and `hg prune` could
print it without the "is".
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 13:58:29 -0700] rev 4612
evolve: move more of the progress-related variables together
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 Apr 2019 14:02:11 -0700] rev 4611
evolve: delete dead calculation of number of troubled revisions
The "count" variable is recalculated in the regular (no --continue)
code path and it isn't used anywhere else (it used to be set to 1 in
the --continue code path, but that now has its own progress counting).
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:23:53 -0700] rev 4610
evolve: drop nested locks and transactions
All callers of _solveone() now take the locks and start the
transactions, so there's no need to do that anymore.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 11:12:00 -0700] rev 4609
next: start transaction before calling _solveone()
All other callers do this, and I'm about to make _solveone() not
create a transaction.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:22:25 -0700] rev 4608
evolve: use single transaction also when continuing
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 09:41:39 -0700] rev 4607
evolve: run in a single transaction
This speeds up `hg evolve --all` of a stack of 24 commits in the hg
repo from 11.5s to 3.7s (3x). As can be seen in the tests, it also
avoid some warnings about transiently unstable commits.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:01:32 -0700] rev 4606
evolve: extract function for solving one revision, including merges
Will make the next patch simpler.
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Apr 2019 17:20:32 +0800] rev 4605
evolve: mention that --all is the default behavior now
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Apr 2019 17:19:41 +0800] rev 4604
evolve: mention that not all successful operations currently update wdir
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:07:28 -0700] rev 4603
evolve: add progress support for --continue
The progress starts where it left off when the previous command ran
into merge conflicts.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:56:42 -0700] rev 4602
evolve: reduce scope of progress-related variables
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:49:47 -0700] rev 4601
evolve: move progress-clearing out of _cleanup()
The progress is only used with --all or --rev, so there's no need to
clean it in any other case. It's therefore easier to clean it
specifically in that case.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:52:33 -0700] rev 4600
evolve: stop passing no-op "progresscb" into continueevolve()
The "progresscb" doesn't do anything in the --continue case, so
there's no need to pass it into continueevolve().
This lets us remove the --no-all that was added to the test as a
workaround.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:45:45 -0700] rev 4599
evolve: _solveunstable() update progress only once
There's no need to draw it, then possibly write text over it (with
--verbose), and then draw it again.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:35:34 -0700] rev 4598
evolve: don't update progress just before clearing it
_cleanup() will clear the progress, so there's little reason to update
it just before (except for progress.debug=yes).
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 09:31:32 -0700] rev 4597
evolve: clean up progress bar also when using -r
It looks like 1fe3da0b4601 (evolve: add --rev option to the evolve
command, 2015-05-05) forgot to update the "showprogress" variable.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 10:20:03 -0700] rev 4596
tests: add some basic testing of progress
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:03:39 -0700] rev 4595
evolve: increment progress *after* a whole merge commit is done
The "re-stabilize" step was using the progress that was supposed to be
for the next revision.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 11:02:35 -0700] rev 4594
evolve: use util.acceptintervention() for closing transactions
util.acceptintervention() will close the transaction on
InterventionRequired.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:32:32 -0700] rev 4593
evolve: use context manager for transactions
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:52:16 -0700] rev 4592
evolve: use consistent message and just re-raise InterventionRequired
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:47:12 -0700] rev 4591
evolve: use standard InterventionRequired instead of MergeFailure
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 Apr 2019 10:41:56 -0700] rev 4590
evolve: don't use exception for local flow control
The LocalMergeFailure class was added in 3f91654713dd (obsolete Move
merge failure handling into stabilize code, 2012-08-20). I think the
"if compat.hasconflict(r)" check was added later. Now that we have
that check, we should use that for flow control instead.
Note that this means that any unexpected exception from
_relocatecommit() will now just raise (and roll back the
transaction). I think that's an improvement.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:02:08 -0700] rev 4589
evolve: reduce indentation with an early return statement
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 Apr 2019 11:01:44 -0700] rev 4588
evolve: remove a useless return statement at end of function
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 13:04:40 +0530] rev 4587
test: move a test to an appropriate test file
This patch introduce a new test file test-evolve-orphan-corner-cases.t
for tests which covers corner cases.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 12:07:26 +0530] rev 4586
test: improve the title of a test
Sushil khanchi <sushilkhanchi97@gmail.com> [Sun, 21 Apr 2019 12:06:31 +0530] rev 4585
test: remove duplicated test
We have the test in test-evolve-orphan-split.t which is covering the same
case this test does. Also this test states that evolve shows some error in
split case, but now this is not the case we update to the top of splitted
csets.
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 09 Mar 2019 19:35:45 +0530] rev 4584
evolve: warn user for the metadata being lost in public divergence resolution
This patch print warnings if some "extras" of a divergent changeset that
is possibly important metadata which is being lost during the resolution
of public divergence.
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 17 Apr 2019 21:16:17 +0530] rev 4583
evolve: show a status message when merging leads to public cset
I think it would be fine to tell the user that merging the two divergent
csets while resolving public divergence resulted into the public cset
itself.
If you think we don't need to tell the user, then we can include this
in debug-mode for debugging purposes at least.
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 24 Apr 2019 20:32:01 +0200] rev 4582
test: use a shorter test name
This is still long but easier to read.
Anton Shestakov <av6@dwimlabs.net> [Wed, 10 Apr 2019 18:20:33 +0800] rev 4581
stack: rename troubledcount to unstablecount
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 17:21:21 +0800] rev 4580
evolve: use --all by default (BC)
allopt defaults to None to avoid touching _checkevolveopts(). If it were True
by default, that function would always act like the flag was provided by user,
and so using --abort, --stop, --continue or --rev on their own would never work
(hg evolve will complain that you cannot specify both --rev and --all).
A notable change in tests is "no troubled changesets" line that gets printed
when using `hg evolve` to update to the evolved successor of working directory
parent, but there were no actual instabilities.
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 17:02:27 +0800] rev 4579
tests: add --rev to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net> [Wed, 24 Apr 2019 16:35:01 +0800] rev 4578
tests: add --no-all to hg evolve to reduce test changes