Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:47 -0700] rev 1435
close inactive compatibility branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:24 -0700] rev 1434
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:08 -0700] rev 1433
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:46:54 -0700] rev 1432
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:55 -0700] rev 1431
close inactive compatibility branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:47 -0700] rev 1430
close inactive compatibility branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:22 -0700] rev 1429
close inactive compatibility branch
Laurent Charignon <lcharignon@fb.com> [Mon, 22 Jun 2015 12:44:21 -0700] rev 1428
evolve: raise MultipleSuccessorsError when computing dependency for split commits
We don't know how to handle dependency for split commits yet. When facing a
splitted commit, instead of silently adding the first successor to the
dependency list and fail later, we do nothing.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:26:51 -0700] rev 1427
next/prev: require --merge to move with uncommitted changes
This should previous common mistake.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:32:47 -0700] rev 1426
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:32:15 -0700] rev 1425
Added tag 5.1.5 for changeset 1377f6a7f9ec
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:30:35 -0700] rev 1424
prepare version 5.1.5
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 00:00:03 -0700] rev 1423
evolve: non recursive implementation for _aspiringdescendants
We switch from a N squared recursive implementation for _aspiringdescendants
to a more efficient algorithm in O(len(unstable)).
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Jun 2015 21:01:30 -0700] rev 1422
evolve: distinct between '--all' and '--all --any'
Before this patch, evolve --all implied evolve --all --any. With this patch
evolve --all evolves all the aspiring descendants of the parent of the working
copy. evolve --all --any does what evolve --all did before: evolving all the
troubles in the repo.
We add anew function _aspiringdescendant for this purpose
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 00:02:23 -0700] rev 1421
rework refactor _aspiringchildren by introducing _possibledestination
This allows us to reuse some of the logic for evolve from _aspiringchildren
for the new implementation of evolve --all.
The logic is also better as some previously selected changesets may not actually
evolve on the target, and some changesets that does not would not.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Jun 2015 19:24:21 -0700] rev 1420
evolve: consider all potential candidates on bare evolve
Instead of stopping at the first resolution, we returns all matches. If there is
ambiguity, we abort.
The function itself seems fairly flawed but will do the job in simple case.
Laurent Charignon <lcharignon@fb.com> [Tue, 23 Jun 2015 13:20:00 -0700] rev 1419
evolve: fix an issue in the documentation of the evolve function
hg evolve is solving troubles that will become children of the parent of the
working copy and its descendant. This last part was omitted by mistake from
the help message before.
Laurent Charignon <lcharignon@fb.com> [Mon, 22 Jun 2015 12:41:32 -0700] rev 1418
evolve: fix error in builddependencies
When MultipleSuccessorsError was raised, we were still running the code below
to add the dependency if succ was not None from a previous iteration.
This bug was harmless because dependencies and rdependencies are sets but it
makes the code clearer this way.
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 18:17:57 -0700] rev 1417
test-evolve-bumped: add new test case for merge
Before this patch we were not testing our warning message for bumped changesets
that are the product of a merge. This patch adds a test case for that.
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 18:16:31 -0700] rev 1416
test-evolve-bumped: improve tests legibility
This patch introduces in test-evolve-bumped some of the test helpers that we
use in other tests to make the code more legible.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Jun 2015 15:04:54 -0700] rev 1415
evolve: drop len comparison in prune and fold
Computing the length of a smartest may be significantly more expensive than
computing it length.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 20 Jun 2015 02:04:37 -0700] rev 1414
evolve: add an help topic about evolution
The text is probably bad, but this have been laying around for quite sometime
(with Mercurial core in mind) lets move forward and add this to evolve.
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 17:47:48 -0700] rev 1413
evolve: remove _picknexttroubled
It was not used anymore
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 17:35:29 -0700] rev 1412
evolve: warn about every skipped evolution
When we could not evolve a revision, we used to silently ignore it. We now
inform the user that we ignored something and tell him why (with more or less
informative message).
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 17:03:40 -0700] rev 1411
evolve: some style fix
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 14:26:33 -0700] rev 1410
evolve: unify revision handling and rework error message
This changesets do a massive refactoring of the way evolve select changesets to
be evolve. We now use a two stages approach:
1) read command line argument and produce a list of revision to evolve.
2) evolve all these revisions.
This allow a much cleaner, robust and extensible code. In the process the error
message issued when there is nothing to evolve have been updated to informs
about other troubles in the repository and point at useful option to solve them.
The 'update' case is handled independently at the start of the function.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 14:32:54 -0700] rev 1409
evolve: move the 'update' if '.' is obsolete earlier
A big refactoring of the computation of the revision to evolve is coming. This
case won't be handled by it, so we extract it earlier.
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 17:56:23 -0700] rev 1408
evolve: skip unstable changesets with multiple successorssets
We were previously crashing when encountering them, but we want to be able to
solve the other solvable troubles instead of stopping right there.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 14:18:45 -0700] rev 1407
evolve: allow multiple --rev argument
This is standard behavior for Mercurial commands.
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 16:49:59 -0700] rev 1406
test-evolve: fix tests failing on some platform
We change from echo to printf to print newlines so that evolve's tests work
cross-platforms.