Thu, 25 Jun 2015 17:37:43 -0700 merge back with 3.3 compat branch stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:37:43 -0700] rev 1452
merge back with 3.3 compat branch
Thu, 25 Jun 2015 17:22:17 -0700 tests: adapt the test for Mercurial 3.3 mercurial-3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:22:17 -0700] rev 1451
tests: adapt the test for Mercurial 3.3 Some fix in the obsolete parent directory warning where also necessary.
Thu, 25 Jun 2015 16:55:27 -0700 merge with stable stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 16:55:27 -0700] rev 1450
merge with stable Test are updated to run with current mercurial stable (3.4.1)
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.
Thu, 18 Jun 2015 16:15:21 -0700 evolve: move 'successors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:21 -0700] rev 1385
evolve: move 'successors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 16:15:13 -0700 evolve: move 'allprecursors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:13 -0700] rev 1384
evolve: move 'allprecursors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 16:15:00 -0700 evolve: move 'precursors()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:15:00 -0700] rev 1383
evolve: move 'precursors()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 17:08:38 -0700 evolve: move 'suspended()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:08:38 -0700] rev 1382
evolve: move 'suspended()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 17:08:11 -0700 evolve: move 'troubled()' to smarted usage stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:08:11 -0700] rev 1381
evolve: move 'troubled()' to smarted usage The "new" smarted can be significantly more efficient than the old was. We convert our revset to take advantage of that.
Thu, 18 Jun 2015 16:14:32 -0700 evolve: avoid creating changectx object in _allsuccessors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:14:32 -0700] rev 1380
evolve: avoid creating changectx object in _allsuccessors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:14:16 -0700 evolve: avoid creating changectx object in _successors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:14:16 -0700] rev 1379
evolve: avoid creating changectx object in _successors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:13:35 -0700 evolve: avoid creating changectx object in _allprecursors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:13:35 -0700] rev 1378
evolve: avoid creating changectx object in _allprecursors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:13:15 -0700 evolve: avoid creating changectx object in _precursors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:13:15 -0700] rev 1377
evolve: avoid creating changectx object in _precursors The repo lookups and object creations have a significant performance overhead.
Thu, 18 Jun 2015 16:18:29 -0700 evolve: fix the template keyworkd decorator docstring stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 16:18:29 -0700] rev 1376
evolve: fix the template keyworkd decorator docstring It was still talking about revsets.
Thu, 18 Jun 2015 15:56:56 -0700 evolve: search divergence within all precursors stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 15:56:56 -0700] rev 1375
evolve: search divergence within all precursors Before this patches we looking for divergence base in immediate successors only. This was a bug leading the divergence base to be reported missing more than it should.
Thu, 18 Jun 2015 15:25:51 -0700 evolve: make sure we use an unfiltered repo when looking for divergence data stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 15:25:51 -0700] rev 1374
evolve: make sure we use an unfiltered repo when looking for divergence data Let's be double sure
Thu, 18 Jun 2015 15:25:51 -0700 evolve: make sure we use an unfiltered repo when looking for divergence data
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 15:25:51 -0700] rev 1373
evolve: make sure we use an unfiltered repo when looking for divergence data Let's be double sure
Wed, 17 Jun 2015 11:31:05 -0700 directaccess: remove import from the no warning list
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Jun 2015 11:31:05 -0700] rev 1372
directaccess: remove import from the no warning list removal of the list previously failed for some reason.
Wed, 17 Jun 2015 10:30:07 -0700 directaccess: add some commands to the directaccess list
Laurent Charignon <lcharignon@fb.com> [Wed, 17 Jun 2015 10:30:07 -0700] rev 1371
directaccess: add some commands to the directaccess list Before this patch we had a limited list of commands in the directaccess list. This patch adds about 20 commands to that list: - all the read-only commands in core supporting a rev as an argument - 'outgoing': since people can use 'outgoing' to know what is going to be pushed, the output of hg outgoing should be consistent with to the output of hg push and must therefore disallow directaccess since hg push forbids it.
Tue, 16 Jun 2015 14:49:28 -0700 evolve: move test for evolve --rev ordering in a separate file
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 14:49:28 -0700] rev 1370
evolve: move test for evolve --rev ordering in a separate file evolve --rev reordering is a complicated enough topic to justify a separate test.
Tue, 16 Jun 2015 14:30:43 -0700 evolve: properly evolve stacked unstable with --rev
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 14:30:43 -0700] rev 1369
evolve: properly evolve stacked unstable with --rev Before this patch, _singlesuccessor was not returning a revision number for the case where the parent of the argument was not obsolete. This resulted in bug when testing membership with the set of revisions. This patch fixes it and adds a test.
Tue, 16 Jun 2015 10:19:17 -0700 directaccess: disable directaccess for push and serve
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 10:19:17 -0700] rev 1368
directaccess: disable directaccess for push and serve Before this patch, push and serve were subject to directaccess. This patch makes them throw error when trying to access hidden hashes.
Tue, 16 Jun 2015 10:08:48 -0700 directaccess: change rule from opt-in to opt-out
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 10:08:48 -0700] rev 1367
directaccess: change rule from opt-in to opt-out Before this patch we would opt-in commands for direct access and the default filter for new repository was 'visible'. With this patch, the default filter for new repos is 'visible-directaccess-warn'. It means that by default all the commands have directaccess with warnings.
Tue, 16 Jun 2015 10:07:51 -0700 inhibit: move transaction wrapping outside of repo setup
Laurent Charignon <lcharignon@fb.com> [Tue, 16 Jun 2015 10:07:51 -0700] rev 1366
inhibit: move transaction wrapping outside of repo setup Before this patch, transaction wrapping code was done in reposetup. It happened to cause stackoverflows in repos with a lot of subreps. This patch moves the wrapping to extsetup and avoids this problem.
Mon, 15 Jun 2015 17:44:12 -0700 tests: ignores other core output in capability testing
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 15 Jun 2015 17:44:12 -0700] rev 1365
tests: ignores other core output in capability testing This will avoid breaking the test anytime core changes.
Wed, 20 May 2015 12:46:13 -0700 evolve: make uncommit respect allowunsable
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 12:46:13 -0700] rev 1364
evolve: make uncommit respect allowunsable Before this patch, the uncommit command was performing the same way regardless of the value of experimental.evolution. With this patch if the configuration does not allow unstability, uncommit won't create instability.
Sat, 13 Jun 2015 11:14:07 -0700 directaccess: use cached filteredrevs
Laurent Charignon <lcharignon@fb.com> [Sat, 13 Jun 2015 11:14:07 -0700] rev 1363
directaccess: use cached filteredrevs Before this patch we were calling directly repoview.computehidden(repo) to compute the revisions visible with direct access, without going through the caching mechanism for the filtered revisions. There was two issues with that: (1) Performance: We were not leverating the cached values of the 'visible' revs (2) Stability: If there were to be a cache inconsistency with the computation of 'visible' we would crash in the branchmap consistency check partial.validfor. Consider the scenario of rebase with bookmarks: - when we delete a bookmark on an obsolete changeset (like what rebase does when moving the bookmark after rebasing the changesets) - then this changes the value returned by repoview.computehidden(repo) as bookmarks are used as dynamic blockers in repoview.computehidden(repo) - as of now, we don't invalidate the cache in the case of bookmark change - if we have a cached value from before the bookmark change, repoview.filterrevs(repo, 'visible') considers the cached value correct and returns something different than repoview.computehidden(repo) - in turn, if we use repoview.computehidden(repo) in directaccess, the subset relationship is broken and the cache consistency assertion (parial.validfor) fails if branchmap.updatecache is called in this time window This patch leverages the caching infrastructure in place to speed up the computation of the filteredrevs for visible-directaccess-nowarn and visible-directaccess-warn. Incidentally it prevents the bug discussed in (2) from crashing when running a rebase with a bookmark. Note that there still needs to be a fix in core for the case discussed in (2). The test for this side of the fix (not core's fix for (2) is very hard to implement without introducing a lot of dependencies and does not belong here. It is much easier to have the test of the fix for the scenario (2) in core along with the fix.
Sat, 13 Jun 2015 11:14:27 -0700 inhibit: improve performance of transaction wrapping
Laurent Charignon <lcharignon@fb.com> [Sat, 13 Jun 2015 11:14:27 -0700] rev 1362
inhibit: improve performance of transaction wrapping Before this patch, transaction wrapping was the most expensive part of inhibit computation wise. This patch changes the revset that we use in the transaction wrapping to make it ~50x faster to compute: revset #0: obsolete() - hidden() 0) wall 0.000214 comb 0.000000 user 0.000000 sys 0.000000 (best of 11209) vs revset #0: (not hidden()) and obsolete() 0) wall 0.010965 comb 0.010000 user 0.010000 sys 0.000000 (best of 237)
Thu, 04 Jun 2015 16:49:16 -0700 evolve: extract the code computing dependencies in a separate function
Laurent Charignon <lcharignon@fb.com> [Thu, 04 Jun 2015 16:49:16 -0700] rev 1361
evolve: extract the code computing dependencies in a separate function The code to compute dependencies between unstable changeset can be reused to compute the next reveset. This patch extracts it in its own function to make it reusable.
Thu, 04 Jun 2015 10:01:02 -0700 directaccess: add mechanism to load directaccess after some other extensions
Laurent Charignon <lcharignon@fb.com> [Thu, 04 Jun 2015 10:01:02 -0700] rev 1360
directaccess: add mechanism to load directaccess after some other extensions directaccess needs to load after some extensions to avoid interfering with them. This patch adds a mechanism to specify what extension directaccess needs to load after.
Tue, 02 Jun 2015 15:24:12 -0700 evolve: add another test for evolve --rev
Laurent Charignon <lcharignon@fb.com> [Tue, 02 Jun 2015 15:24:12 -0700] rev 1359
evolve: add another test for evolve --rev This patch adds one test for three conditions not covered before: - evolve --rev on a stack with obsolete commits without successors - evolve --rev on two sets of stacks in parallel - evolve --rev on a set of stack partially solvable (because all of the commits of the stack are not specified with --rev)
Tue, 02 Jun 2015 15:23:50 -0700 evolve: add a more complex test for evolve --rev
Laurent Charignon <lcharignon@fb.com> [Tue, 02 Jun 2015 15:23:50 -0700] rev 1358
evolve: add a more complex test for evolve --rev The previous tests of evolve --rev would have passed with an ordering of revs by increasing revision numbers. This patch adds a test that would fail if that was what we were doing and therefore tests the implementation better.
Thu, 04 Jun 2015 13:35:12 -0700 evolve: add ordering of the revisions for evolve --rev
Laurent Charignon <lcharignon@fb.com> [Thu, 04 Jun 2015 13:35:12 -0700] rev 1357
evolve: add ordering of the revisions for evolve --rev When running evolve --rev we want to process the revisions in an optimal fashion to solve the maximum amount of trouble in the minimum number of steps. This patch adds a step to evolve --rev to order the revision before solving the troubles. A simple test is added to cover a basic case.
(0) -1000 -300 -100 -96 +96 +100 +300 +1000 +3000 tip