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.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Jun 2015 13:26:58 -0700] rev 1356
test: adapt to change in mercurial core
Bundle2 is one by default and more capability have been added.
Laurent Charignon <lcharignon@fb.com> [Wed, 03 Jun 2015 16:01:28 -0700] rev 1355
evolve: add directaccess to the setup.py
directaccess was missing from the list so that when we were building evolve it
was not contained in the build.
Laurent Charignon <lcharignon@fb.com> [Mon, 01 Jun 2015 12:29:12 -0700] rev 1354
evolve: don't crash on singled out revisions
Before this patch, we were crashing on unsolvable revisions when using
evolve --rev. This patch removes the crash and prints a warning when we
encounter such revision.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 10:58:50 -0700] rev 1353
test: adapt test to less frequent branch warning
The 701df761aa94 changeset in mercurial core made the branch warning issue only
for the first branch created. We adapt the tests to reflect this change.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 01 Jun 2015 10:56:49 -0700] rev 1352
tests: adapt summary output to 6084926366b9
The 'summary' commands recently gained phases related output, 6084926366b9 put
it into a "final" state. We adapt the test to this new style.
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 10:23:37 -0700] rev 1351
evolve: small refactoring of the uncommit function
We introduce a new variable to simplify the implementation of hg uncommit
--interactive.
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:46:34 -0700] rev 1350
evolve: improve error message
We add a new line and change the wording from 'revsets' to 'revisions'.
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:43:36 -0700] rev 1349
evolve: move return statement at the right level
When no trouble was found with the --rev option, the code of the evolve
function would continue running and would solve unwanted troubles. This patch
makes sure it does not happen.
Laurent Charignon <lcharignon@fb.com> [Wed, 27 May 2015 14:00:01 -0700] rev 1348
evolve: remove extra whitespace
This patch removes a whitespace at the end of a line.
Laurent Charignon <lcharignon@fb.com> [Fri, 22 May 2015 10:38:16 -0700] rev 1347
directaccess: don't crash when evolve is not loaded
Before this patch, when evolve was not loaded direct access was crashing. This
patch catches the error and prevents the crash.
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 10:58:32 -0700] rev 1346
inhbit: don't crash on commit with no changes
Before this patch inhibit would crash when running hg amend with no changes.
This patch fixes this case and adds a test to prevent regression.
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 13:32:32 -0700] rev 1345
evolve: add a test for prune --keep -r . with active bookmark
We recently changed the behavior of prune to make sure that the active
bookmark stays active after prune -r .
This patch adds a test for the case of prune --keep -r . that does not
take the same code path.
Laurent Charignon <lcharignon@fb.com> [Wed, 20 May 2015 13:23:20 -0700] rev 1344
Merge with stable
Laurent Charignon <lcharignon@fb.com> [Thu, 14 May 2015 11:32:04 -0700] rev 1343
inhibit: add test to ensure that --hidden is working with inhibit
There was a concern with the transaction hook in inhibit and its potentially
devastating effect when used with --hidden. The transaction hook in inhibit
hides all the visible & obsolete commits when the transaction ends using the
visible() and the obsolete() revset.
--hidden does not change the visible() revset so it is fine. If this changes in
the future and --hidden actually ends up impacting the visible() revset, this
test will catch it and prevent inhibit from putting inhibition markers on
all of the obsolete changesets.
Laurent Charignon <lcharignon@fb.com> [Mon, 18 May 2015 17:24:38 -0700] rev 1342
prune: with active bookmark should stay active
hg prune with an active bookmark was deactivating the bookmark after the prune.
This patch makes sure that if a bookmark was active before a "prune" operation
(except prune -B) then the bookmark stays activate afterwards.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 19 May 2015 00:47:00 -0500] rev 1341
merge with stable
Augie Fackler <raf@durin42.com> [Mon, 18 May 2015 13:58:57 -0400] rev 1340
evolve: migrate off of now-dead util.any
Laurent Charignon <lcharignon@fb.com> [Thu, 14 May 2015 11:23:40 -0700] rev 1339
inhibit: create direct access extension
Since we want to use direct access without necessarily using inhibit, this
patch separates both extensions. Inhibit depends on direct access and we add
a test to check that it complains if that is not the case.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 14 May 2015 15:59:06 -0700] rev 1338
inhibit: handle inhibit marker on stripped revision
If a revision disappear from the repo, we should not crash.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 13 May 2015 17:25:15 -0700] rev 1337
update README
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 09:03:11 -0700] rev 1336
evolve: don't use python sets on top of revset for evolve --rev
In --rev we were wrapping the revsets in python sets.
This is wrong as the use python sets force the wrapper revision set to be
computed earlier than it has to and have no order guarantee.
Removing this wrapping changes a test because the ordering does not appear to
be the same but the end result is the same.
Laurent Charignon <lcharignon@fb.com> [Wed, 13 May 2015 08:47:27 -0700] rev 1335
evolve: current bookmark wrongly moving during prune (issue4559)
Before this patch: prune -r <otherbookmark> also moved the current bookmark
eventhough it was not related to the pruned changes.
This patch fixes it and adds a test to catch regressions.
Laurent Charignon <lcharignon@fb.com> [Tue, 12 May 2015 13:52:29 -0700] rev 1334
inhibit: direct access with and without warning on a per command basis
We introduce a new filtername visibile-directaccess-nowarn to enable direct
access with no warning on a per command basis.
The motivation behing this change is to display warning when attempting direct
access in destructive commands.
Laurent Charignon <lcharignon@fb.com> [Tue, 12 May 2015 12:26:46 -0700] rev 1333
inhbit: make tests work with evolution.createmarkers config
Before this patch, the test for inhibit was assuming evolve fully running.
For most of the features that inhbit enables, createmarkers is sufficient.
This patch makes the test of inhibit run with the createmarkers config and
only lifts it for operations in the middle of the stack.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 17:37:11 -0700] rev 1332
inhibit: config to enable only direct access
Inhibit provides several features to hide instability and direct access.
We want to use direct access in evolve without hiding the instability.
This patch adds a config flag to enable only direct access in inhibit, when
this config flag is not set or set to false we enable all the features of
inhibit that don't concern direct access.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 11 May 2015 14:31:17 -0700] rev 1331
merge with stable
Ryan McElroy <rmcelroy@fb.com> [Thu, 07 May 2015 13:20:11 -0700] rev 1330
bookmarks: update to use new bookmarks api via compatibility layer
Tested against 3.4 and latest hg + upcoming bookmarks patches
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 10:54:37 -0700] rev 1329
simple4server: remove buggy wrapping of pull related function
Not only the wrapping was all buggy, but simple4server is not supposed to affect
client side pull.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 06 May 2015 11:29:15 -0700] rev 1328
simple4server: update bugtracker link
We moved all evolution related bug to the core Mercurial tracker.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:09:09 -0700] rev 1327
evolve: rename handlenotrouble to _handlenotrouble and add doc
As suggested by Pierre-Yves on his comments on
f113636997660b807c36cf1d0a06b76d53ada1a4 we make it clear that this function
is private and explain what it does.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 18:20:40 -0700] rev 1326
evolve: improve the help message of --rev
User's are not exposed to the notion of revset, this patch makes the help
message more intelligible.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:25:59 -0700] rev 1325
evolve: add --rev option to the evolve command
This patch is part of a series of patches to refactor the evolve method and
make it more readable. We introduce a new --rev flag to specify a revset
where to solve the troubles instead of looking from the parent changeset.
All add a test checks that --rev works with several commits
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 14:25:35 -0700] rev 1324
evolve: extract cleanup logic in the evolve function
We are going to need to reuse the cleanup logic when introducing --rev, so
we extract it in a method to avoid code duplication.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:25:37 -0700] rev 1323
evolve: simplify the evolve function
We compute the troubles once and use it in two places instead of recomputing
them just to count them.
Laurent Charignon <lcharignon@fb.com> [Tue, 05 May 2015 17:15:06 -0700] rev 1322
evolve: optimize the computation of the troubled() revset
We take the implementation from _counttroubles() and rely on the more
efficient & operation for revset instead of laying down the entire set with %ld.
Durham Goode <durham@fb.com> [Tue, 05 May 2015 13:32:01 -0700] rev 1321
inhibit: don't inhibit pinned commits during rebase
During a rebase we pin certain commits to always be visible. This caused the
inhibit extension to inhibit them when a transaction closed. Let's make inhibit
aware of such pins and not obsolete them.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:56:46 -0700] rev 1320
evolve: extract the logic to solve one change into a method
The goal is to later reuse this method to implement the --rev flag for
evolve that solves the troubles in a revset.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:56:05 -0700] rev 1319
evolve: add new variable and comment
Add comment and introduce a new variable to keep track of if the progress ui
is shown. Later on we will use this variable in the implementation of the --rev
option.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:09:05 -0700] rev 1318
evolve: move code to track progress and start node
This makes it easier to refactor the evolve function in this serie of patches.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:00:07 -0700] rev 1317
evolve: renaming of a variable
tro was not a really descriptive name, replacing it with nexttrouble.
Laurent Charignon <lcharignon@fb.com> [Mon, 04 May 2015 16:01:45 -0700] rev 1316
evolve: refactoring of the code displaying error when no trouble found
Before this patch, we had many return statements in the evolve function
especially in the part in charge of displaying errors when no troubles
were found. We move this code in a separate function.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 15:11:00 -0700] rev 1315
evolve: refactor code computing stats of obsolescence markers
Duplicated code removal by extracting a function.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:55:04 -0700] rev 1314
evolve: refactoring of code related to pushing obs markers
This removes duplicated code for the pushobsmarkers logic
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:56:06 -0700] rev 1313
merge with stable
bunch of cleanup on stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:58:14 -0700] rev 1312
update readme
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:47:02 -0700] rev 1311
evolve: update cmddebugrecordpruneparents to the new markers creation API
The parents information are now first class citizen.
(caught by laurent using pylint)
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 May 2015 10:46:06 -0700] rev 1310
evolve: drop useless return
This return statement is never reached. This a actually a good new because its
variable was undefined. We remove it.
(caught by laurent using pylint)
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:34:05 -0700] rev 1309
evolve: add missing import
(caught by pylint)
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:47:01 -0700] rev 1308
evolve: improve transaction related code to use the lock module
Refactored some of the places where we are using locking in evolve to use
the lock module and write less code.
This should also fix a couple of bug where tr could be None at release time.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:40:36 -0700] rev 1307
evolve: remove unused variables
As suggested by pyflakes, remove 5 unused variables in the evolve module.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:30:15 -0700] rev 1306
evolve: remove unused code in _evolveany
remove some code that was doing nothing useful in _evolveany.
Laurent Charignon <lcharignon@fb.com> [Thu, 30 Apr 2015 14:22:30 -0700] rev 1305
evove: remove unused imports
Three imports where unused in the evolve module.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 10:36:43 -0700] rev 1304
tests: ensure we keep capturing output
In 3.4, output capture with bundle2 is disabled by default on local push.
Laurent Charignon <lcharignon@fb.com> [Mon, 20 Apr 2015 13:39:18 -0700] rev 1303
inhibit: updating to a obsolete commit prints warning message
We move the inhibition marker in the same wlock than the update operation, this
clears the warning message. To make it work we display the warning message on
lock release in evolve.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:12:17 -0700] rev 1302
evolve: stop conditional wrapping of _checkinvalidmarkers
We support down to Mercurial 3.3, all such version have this function.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:11:52 -0700] rev 1301
evolve: stop conditional wrapping of _getbundleobsmarkerpart
We support down to Mercurial 3.3, all such version have this function.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 15:11:07 -0700] rev 1300
evolve: stop conditional wrapping of _pushdiscoveryobsmarkers
We support down to Mercurial 3.3, all such version have this function.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:49:02 -0700] rev 1299
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:48:41 -0700] rev 1298
test-inhibit: test bookmark -D without prune enabled
The --config option were dropped for lack of documentation.
Laurent Charignon <lcharignon@fb.com> [Wed, 29 Apr 2015 13:01:23 -0700] rev 1297
inhibit: fix devel warning
_inhibitmarkers was taking a transaction without the proper lock. Adding the
lock removes the warnings.
Laurent Charignon <lcharignon@fb.com> [Thu, 23 Apr 2015 17:45:46 -0700] rev 1296
evolve: add -i flag to amend command
The -i flag was missing because it is not a global flag of the commit command.
We can't make it a global flag yet as it is used in many places where it would
not be appropriate so we just add it for this occurrence.
Also, we only want to add it when commit supports it (otherwise it wouldn't
work with older versions of mercurial)
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 29 Apr 2015 14:23:09 -0700] rev 1295
prune: prune fix transaction pattern
I forgot to amend.
Durham Goode <durham@fb.com> [Tue, 07 Apr 2015 14:26:03 -0700] rev 1294
prune: fix pruning w/ bookmarks and inhibit
Previously prune would create the obsolesence markers, then try to fix up the
bookmarks. With inhibit enabled, the act of closing a transaction for the
bookmark step caused it to unhide commits that were trying to be pruned.
The fix is to put the whole thing in a transaction.