Wed, 24 Jun 2015 20:06:45 -0700 next: add a --evolve option
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 20:06:45 -0700] rev 1449
next: add a --evolve option When on a topological head, this option will trigger the evolution of a unstable changeset that will result in a children of the current working copy parent. This should ease stacked changesets workflow by allowing to stick to prev and next to move through a stack of diff, evolving part of it on demand when needed. In case of ambiguity, the command will ask the user to choose. We need a better definition of "the stack of changesets I'm working on" to be able to seamlessly handling branching.
Wed, 24 Jun 2015 19:42:01 -0700 next: print some message when on a head with some aspiring children
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 19:42:01 -0700] rev 1448
next: print some message when on a head with some aspiring children Being on a head does not necessary means that this is the end of the road. It is likely that some changesets could be evolve as children. We detect this case and provide a hint.
Wed, 24 Jun 2015 20:23:41 -0700 next: reword error output
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 20:23:41 -0700] rev 1447
next: reword error output We move to a more compact and direct phrasing. I'm not fully happy about it yet, but this is a step forward. The listing of candidate should maybe be moved behind a --verbose flag (and such verbose flag be suggested in the error). G: changed tests/test-prev-next.t
Wed, 24 Jun 2015 20:17:57 -0700 next: refactor the command code
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 20:17:57 -0700] rev 1446
next: refactor the command code We make the conditional flatter and the return more straight forward. This will make addition of more complex cases more straightforward in future changesets.
Wed, 24 Jun 2015 21:16:57 -0700 next: add extensive testing to the 'next' command
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 21:16:57 -0700] rev 1445
next: add extensive testing to the 'next' command We are going to introduce more complexity to it. We add the full extend of the case we want tested to see how they evolve later.
Wed, 24 Jun 2015 19:43:35 -0700 readme: add an entry about the obsolete wdir parent hint
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 19:43:35 -0700] rev 1444
readme: add an entry about the obsolete wdir parent hint
Wed, 24 Jun 2015 16:37:02 -0700 evolve: add a hint when the parent working copy become obsolete
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 24 Jun 2015 16:37:02 -0700] rev 1443
evolve: add a hint when the parent working copy become obsolete This should help people find the right commands to recover from this situation.
Tue, 23 Jun 2015 18:16:21 -0700 evolve: better error message when command is Ambiguous
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 18:16:21 -0700] rev 1442
evolve: better error message when command is Ambiguous Having more data help the user.
Wed, 20 May 2015 16:35:45 -0700 evolve: mechanism to load some commands selectively
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 16:35:45 -0700] rev 1441
evolve: mechanism to load some commands selectively This patch introduces a new config option: experimental.evolutioncommands to load evolve's command selectively. It is part of a sequence of patches to make evolve's command respect the value of experimental.evolution. Once these commands are ready and actually respect the flag, they are safe to use and can be enabled with the mechanism developed in this patch.
Mon, 22 Jun 2015 17:46:32 -0700 evolve: clarify code in _singlesuccessor
Laurent Charignon <lcharignon@fb.com> [Mon, 22 Jun 2015 17:46:32 -0700] rev 1440
evolve: clarify code in _singlesuccessor Before this patch we were not very explicit with this while condition in _singlesuccessor. This patch makes it more legible.
Tue, 23 Jun 2015 16:50:39 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:39 -0700] rev 1439
merge with stable
Tue, 23 Jun 2015 16:50:06 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:06 -0700] rev 1438
merge with inactive compat branch
Tue, 23 Jun 2015 16:49:53 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:53 -0700] rev 1437
merge with inactive compat branch
Tue, 23 Jun 2015 16:49:24 -0700 close inactive compatibility branch mercurial-3.0
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:24 -0700] rev 1436
close inactive compatibility branch
Tue, 23 Jun 2015 16:47:47 -0700 close inactive compatibility branch compat-hg2.3
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:47 -0700] rev 1435
close inactive compatibility branch
Tue, 23 Jun 2015 16:47:24 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:24 -0700] rev 1434
merge with inactive compat branch
Tue, 23 Jun 2015 16:47:08 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:47:08 -0700] rev 1433
merge with inactive compat branch
Tue, 23 Jun 2015 16:46:54 -0700 merge with inactive compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:46:54 -0700] rev 1432
merge with inactive compat branch
Tue, 23 Jun 2015 16:45:55 -0700 close inactive compatibility branch mercurial-2.7
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:55 -0700] rev 1431
close inactive compatibility branch
Tue, 23 Jun 2015 16:45:47 -0700 close inactive compatibility branch compat-hg2.4
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:47 -0700] rev 1430
close inactive compatibility branch
Tue, 23 Jun 2015 16:45:22 -0700 close inactive compatibility branch mercurial-2.2
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:45:22 -0700] rev 1429
close inactive compatibility branch
Mon, 22 Jun 2015 12:44:21 -0700 evolve: raise MultipleSuccessorsError when computing dependency for split commits
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.
Tue, 23 Jun 2015 15:26:51 -0700 next/prev: require --merge to move with uncommitted changes
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.
Tue, 23 Jun 2015 15:32:47 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:32:47 -0700] rev 1426
merge with stable
Tue, 23 Jun 2015 15:32:15 -0700 Added tag 5.1.5 for changeset 1377f6a7f9ec 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
Tue, 23 Jun 2015 15:30:35 -0700 prepare version 5.1.5 stable 5.1.5
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 15:30:35 -0700] rev 1424
prepare version 5.1.5
Tue, 23 Jun 2015 00:00:03 -0700 evolve: non recursive implementation for _aspiringdescendants
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)).
Mon, 22 Jun 2015 21:01:30 -0700 evolve: distinct between '--all' and '--all --any'
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
Tue, 23 Jun 2015 00:02:23 -0700 rework refactor _aspiringchildren by introducing _possibledestination
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.
Mon, 22 Jun 2015 19:24:21 -0700 evolve: consider all potential candidates on bare evolve
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.
Tue, 23 Jun 2015 13:20:00 -0700 evolve: fix an issue in the documentation of the evolve function
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.
Mon, 22 Jun 2015 12:41:32 -0700 evolve: fix error in builddependencies
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.
Fri, 19 Jun 2015 18:17:57 -0700 test-evolve-bumped: add new test case for merge
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.
Fri, 19 Jun 2015 18:16:31 -0700 test-evolve-bumped: improve tests legibility
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.
Mon, 22 Jun 2015 15:04:54 -0700 evolve: drop len comparison in prune and fold
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.
Sat, 20 Jun 2015 02:04:37 -0700 evolve: add an help topic about evolution
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.
Fri, 19 Jun 2015 17:47:48 -0700 evolve: remove _picknexttroubled
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 17:47:48 -0700] rev 1413
evolve: remove _picknexttroubled It was not used anymore
Fri, 19 Jun 2015 17:35:29 -0700 evolve: warn about every skipped evolution
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).
Fri, 19 Jun 2015 17:03:40 -0700 evolve: some style fix
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 17:03:40 -0700] rev 1411
evolve: some style fix
Fri, 19 Jun 2015 14:26:33 -0700 evolve: unify revision handling and rework error message
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.
Fri, 19 Jun 2015 14:32:54 -0700 evolve: move the 'update' if '.' is obsolete earlier
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.
Tue, 16 Jun 2015 17:56:23 -0700 evolve: skip unstable changesets with multiple successorssets
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.
Fri, 19 Jun 2015 14:18:45 -0700 evolve: allow multiple --rev argument
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.
Fri, 19 Jun 2015 16:49:59 -0700 test-evolve: fix tests failing on some platform
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.
Tue, 16 Jun 2015 16:58:38 -0700 evolve: prevent using --rev and --any together
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 16:58:38 -0700] rev 1405
evolve: prevent using --rev and --any together Before this patch it was possible to use evolve --rev --any and it meant evolve --rev. This patch throws an error when using evolve --rev --any.
Tue, 16 Jun 2015 15:14:37 -0700 evolve: add selector for trouble types
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 15:14:37 -0700] rev 1404
evolve: add selector for trouble types This patch adds command line flags to select the kind of troubles to solve. Before this patch evolve was solving any kind of troubled. With this patch evolve --all and evolve --rev can be configured to only solve only some type of troubles (divergent, bumped or unstable). To give this choice to the user we add three new command line flags to the evolve command: --bumped, --divergent and --unstable.
Fri, 19 Jun 2015 13:57:16 -0700 evolve: refresh the documentation
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 13:57:16 -0700] rev 1403
evolve: refresh the documentation Multiple behavior change are coming, a perfect timing to refresh the doc before we rework it more.
Tue, 16 Jun 2015 15:08:44 -0700 evolve: check for uncommited change earlier
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 15:08:44 -0700] rev 1402
evolve: check for uncommited change earlier Before this patch we were checking for uncommited change multiple times and quite late for uncommited change. This patch moves the check at the beginning of the evolve method to avoid these shortcomings.
Fri, 19 Jun 2015 12:39:15 -0700 merge with some old heads stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 12:39:15 -0700] rev 1401
merge with some old heads
Mon, 16 Jun 2014 14:31:49 -0700 merge with some older backport stable
Pierre-Yves David <pyd@fb.com> [Mon, 16 Jun 2014 14:31:49 -0700] rev 1400
merge with some older backport
Thu, 12 Jun 2014 16:10:01 -0700 template: add a troubles keyword stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 12 Jun 2014 16:10:01 -0700] rev 1399
template: add a troubles keyword This keyword list all evolution troubles that affect a changeset. Evolution troubles can be "unstable", "divergent" and "bumped".
Fri, 19 Jun 2015 11:04:18 -0700 evolve: make fold aware of allowunstable
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 11:04:18 -0700] rev 1398
evolve: make fold aware of allowunstable Before this patch, the fold command was performing the same way regardless of the value of experimental.evolution. With this patch if the configuration does not allow unstability, fold won't create instability.
Fri, 19 Jun 2015 11:03:51 -0700 evolve: make prune respect allowunsable
Laurent Charignon <lcharignon@fb.com> [Fri, 19 Jun 2015 11:03:51 -0700] rev 1397
evolve: make prune respect allowunsable Before this patch, the prune command was performing the same way regardless of the value of experimental.evolution. With this patch if the configuration does not allow unstability, prune won't create instability.
Fri, 19 Jun 2015 10:47:02 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 10:47:02 -0700] rev 1396
merge with stable
Fri, 19 Jun 2015 10:44:25 -0700 evolve: add a hint about how to abort an evolve with conflict stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 10:44:25 -0700] rev 1395
evolve: add a hint about how to abort an evolve with conflict The whole evolve --continue is hacky, but the way to abort it have been arcane knowledge, carried from sith lord to its apprentice for centuries. We add a hint to help the use discover it. One day a clean solution will come.
Fri, 19 Jun 2015 00:17:34 -0700 merge with branch closing commit stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:17:34 -0700] rev 1394
merge with branch closing commit
Fri, 19 Jun 2015 00:16:56 -0700 close 3.1 compat branch mercurial-3.1
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:16:56 -0700] rev 1393
close 3.1 compat branch
Fri, 19 Jun 2015 00:15:55 -0700 evolve: marks the extension as tested with 4.1 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:15:55 -0700] rev 1392
evolve: marks the extension as tested with 4.1 Because it is.
Thu, 18 Jun 2015 23:45:37 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 23:45:37 -0700] rev 1391
merge with stable
Thu, 18 Jun 2015 18:05:57 -0700 evolve: fix default value for --confirm stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 18:05:57 -0700] rev 1390
evolve: fix default value for --confirm Before this changes, the default was yes, unlike advertised. The test were actually catching that so I go them updated.
Thu, 18 Jun 2015 18:12:24 -0700 prune: use the bookmark wrapper for 3.4 compatibility stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 18:12:24 -0700] rev 1389
prune: use the bookmark wrapper for 3.4 compatibility
Thu, 18 Jun 2015 17:57:11 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:57:11 -0700] rev 1388
merge with stable
Thu, 18 Jun 2015 17:56:02 -0700 evolve: update readme regarding the preview perf improvement stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:56:02 -0700] rev 1387
evolve: update readme regarding the preview perf improvement
Thu, 18 Jun 2015 16:15:28 -0700 evolve: move 'allsuccessors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:28 -0700] rev 1386
evolve: move 'allsuccessors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
(0) -1000 -300 -100 -64 +64 +100 +300 +1000 +3000 tip