2016-04-14 evolve: add --continue note to summary
timeless@gmail.com [Thu, 14 Apr 2016 03:42:48 +0000] rev 1640
evolve: add --continue note to summary
2016-04-14 evolve: report merge node
timeless@gmail.com [Thu, 14 Apr 2016 15:03:18 +0000] rev 1639
evolve: report merge node When running evolve --any, evolve will report that it can not handle a merge node. In order for this to be helpful, we report the revision so that a user could fix t.
2016-04-14 evolve: treat no support as non fatal
timeless@gmail.com [Thu, 14 Apr 2016 15:02:10 +0000] rev 1638
evolve: treat no support as non fatal When running evolve --all, unhandled edges should not block other revisions from being solved.
2016-04-13 list: limit to descriptions to firstline
timeless@gmail.com [Wed, 13 Apr 2016 23:36:44 +0000] rev 1637
list: limit to descriptions to firstline
2016-04-08 config: report evolve as origin for config
timeless@gmail.com [Fri, 08 Apr 2016 18:45:58 +0000] rev 1636
config: report evolve as origin for config
2016-04-08 alias: report evolve as origin for aliases
timeless@gmail.com [Fri, 08 Apr 2016 18:45:45 +0000] rev 1635
alias: report evolve as origin for aliases
2016-03-22 evolve--list: initial implementation
Kostia Balytskyi <ikostia@fb.com> [Tue, 22 Mar 2016 14:08:16 -0700] rev 1634
evolve--list: initial implementation This implementation does not work with '-T json' since it needs multiple levels of depth. There is various small issue with the current data, the test coverage is a bit low and the output is likely to change, but this is a good step forward. Sample output: 01a3e66ba030: e (amended) unstable: 1995fc658ad6 (unstable parent) divergent: 84e1c6ae319d d3b90e9c84ab (precursor 3efa43a7427b) divergent: add9a356b8cf (precursor 3efa43a7427b) add9a356b8cf: e (rebased) divergent: 84e1c6ae319d d3b90e9c84ab (precursor 3efa43a7427b) divergent: 01a3e66ba030 (precursor 3efa43a7427b) 84e1c6ae319d: e (e+f split) unstable: 1995fc658ad6 (unstable parent) divergent: 01a3e66ba030 (precursor 3efa43a7427b) divergent: add9a356b8cf (precursor 3efa43a7427b) d3b90e9c84ab: f (e+f split) unstable: 84e1c6ae319d (unstable parent) divergent: 01a3e66ba030 (precursor 3efa43a7427b) divergent: add9a356b8cf (precursor 3efa43a7427b) 8febfaee0dd1: c unstable: 43765473b851 (obsolete parent) bumped: b36d99df9f41 (immutable precursor) 1995fc658ad6: d: commit with a long happy message, ababagalamaga, ababagal... unstable: 8febfaee0dd1 (unstable parent) fa8498ad030f: aa unstable: d3b90e9c84ab (unstable parent)
2016-03-19 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 18 Mar 2016 23:49:32 -0700] rev 1633
merge with stable
2016-03-18 evolve: Fix crash when reading docstring stable
Juntao Li <juntaoli@fb.com> [Thu, 17 Mar 2016 17:03:51 -0700] rev 1632
evolve: Fix crash when reading docstring Before this patch, hg evolve --divergent could crash when looking for docstring of function of merge.update. We were checking the docstring to work properly with older version of Mercurial. It could crash if an extension would wrap merge.update without keeping the docstring. This patch fixes the crash.
2016-03-18 prune: remove the kill alias
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 18 Mar 2016 16:37:49 -0700] rev 1631
prune: remove the kill alias This have been a long time since the command was rename (over 'kill -1' threat), it is time to get rid of it.
2016-03-17 evolve: Fix crush when reading docstring
Juntao Li <juntaoli@fb.com> [Thu, 17 Mar 2016 15:04:05 -0700] rev 1630
evolve: Fix crush when reading docstring Before this patch, hg evolve --divergent could crush when looking for docstring of function of merge.update. We were checking the docstring to work properly with older version of Mercurial. It could crush if an extension would wrap merge.update without keeping the docstring. This patch fixes the crush.
2016-03-17 topic: restrict 'hg prev' to current topic unless --no-topic is passed
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Mar 2016 11:31:55 -0700] rev 1629
topic: restrict 'hg prev' to current topic unless --no-topic is passed This is far from perfect but a good start
2016-03-17 topic: restrict 'hg prev' to current topic unless --no-topic is passed
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Mar 2016 11:25:01 -0700] rev 1628
topic: restrict 'hg prev' to current topic unless --no-topic is passed This is far from perfect but a good start.
2016-03-17 topic: preserve topic during evolve
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Mar 2016 10:04:30 -0700] rev 1627
topic: preserve topic during evolve previously, topic handling was absent leading to whatever the active topic was when `hg evolve` was run to be used for all evolve results
2016-03-17 topic: 'hg evolve --all' pick all trouble within current topic
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Mar 2016 09:39:35 -0700] rev 1626
topic: 'hg evolve --all' pick all trouble within current topic This is the first changeset of a collaboration between the topic extensions and evolve. If there is an active topic, 'hg evolve --all' will try to fix all changesets in that topic wherever they are. Aspiring descendant that are not in the current topic will be ignored. For now, evolve behave as usual if there is no active topic. This is a bit inconsistent and will probably be unified in the future.
2015-11-07 close branch 3.3 mercurial-3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 07 Nov 2015 16:08:42 -0500] rev 1625
close branch 3.3 I'm not expecting any more work in there.
2016-03-12 evolve: mark progress units for translation
Anton Shestakov <av6@dwimlabs.net> [Sat, 12 Mar 2016 13:59:07 +0800] rev 1624
evolve: mark progress units for translation
2016-03-12 evolve: ui.progress doesn't use total count if pos is None, let's drop it
Anton Shestakov <av6@dwimlabs.net> [Sat, 12 Mar 2016 13:45:25 +0800] rev 1623
evolve: ui.progress doesn't use total count if pos is None, let's drop it Every other call of ui.progress that has argument #2 (named `pos`) set to None doesn't specify `total`, because it won't be used. Basically, ui.progress(action, None) is enough, when used like this it hides progress bar because the action is considered completed. So this is just a minor cleanup patch.
2016-03-12 debugrecordpruneparents: fix an apparent typo (marks) stable
Anton Shestakov <av6@dwimlabs.net> [Sat, 12 Mar 2016 13:15:28 +0800] rev 1622
debugrecordpruneparents: fix an apparent typo (marks)
2016-03-11 test: explicitly disable rebaseskipobsolete in a couple of place (issue5135)
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Mar 2016 23:47:59 +0000] rev 1621
test: explicitly disable rebaseskipobsolete in a couple of place (issue5135) We want to keep the old behavior for the sake of testing.
2016-03-11 evolve: remove unused import
liscju <piotr.listkiewicz@gmail.com> [Fri, 11 Mar 2016 13:11:54 +0100] rev 1620
evolve: remove unused import
2016-03-11 hgext: turn 'hgext' into a namespace package
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Mar 2016 09:48:12 +0000] rev 1619
hgext: turn 'hgext' into a namespace package Actually since Python 2.3, there is some way to turn top level package into "namespace package" so that multiple subpackage installed in different part of the path can still be imported transparently. This feature was previously thought (at least by myself) to be only provided by some setuptool black magic. Turning hgext into such namespace package allows third extensions to install themselves inside the "hgext" namespace package to avoid polluting the global python module namespace. They will now be able to do so without making it a pain to use a Mercurial "installed" in a different way/location than these extensions.
2016-02-25 merge stable into default
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Feb 2016 13:18:36 +0100] rev 1618
merge stable into default
2016-02-25 url: update url to point to the latest hosting stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Feb 2016 13:14:04 +0100] rev 1617
url: update url to point to the latest hosting The documentation and various packaging were out of date.
2016-02-14 tests: add head warning messages
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Feb 2016 14:37:40 +0000] rev 1616
tests: add head warning messages Core gained a warning about other head on the same branch. This impact our tests.
2016-02-11 split: fix wording of documentation for --rev option stable
Nathan Goldbaum <ngoldbau@ucsc.edu> [Wed, 10 Feb 2016 18:54:49 -0600] rev 1615
split: fix wording of documentation for --rev option
2016-02-11 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:44:28 +0000] rev 1614
merge with stable
2016-02-11 Added tag 5.3.0 for changeset bd59cc2ee203 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:42:22 +0000] rev 1613
Added tag 5.3.0 for changeset bd59cc2ee203
2016-02-11 merge with strange other head on stable stable 5.3.0
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:39:56 +0000] rev 1612
merge with strange other head on stable
2016-02-11 prepare version 5.3.0 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:37:05 +0000] rev 1611
prepare version 5.3.0
2016-02-11 evolve: update testedwith statement stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:35:58 +0000] rev 1610
evolve: update testedwith statement We have carefully testing with Mercurial form 3.4 to 3.7
2016-02-11 Readme: mention fix for issue4950 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:35:16 +0000] rev 1609
Readme: mention fix for issue4950
2016-02-11 merge with new stable through 3.5 and 3.6 mercurial-3.4
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:32:40 +0000] rev 1608
merge with new stable through 3.5 and 3.6
2016-02-04 tests: register expected difference for Mercurial 3.4 mercurial-3.4
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:01:35 +0000] rev 1607
tests: register expected difference for Mercurial 3.4
2016-02-11 merge with stable through 3.6 mercurial-3.5
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:07:54 +0000] rev 1606
merge with stable through 3.6
2016-02-11 readme: mark feature only available in 3.7 as such stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:02:39 +0000] rev 1605
readme: mark feature only available in 3.7 as such
2016-02-10 Merge with stable, updating tests output mercurial-3.6
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 10 Feb 2016 23:44:00 +0000] rev 1604
Merge with stable, updating tests output Notable change: - We do not support evolving merge before 3.7 - We don't support inhibit/direct-access
2016-02-04 readme: point to mercurial-scm.org instead of selenic.com stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:18:50 +0000] rev 1603
readme: point to mercurial-scm.org instead of selenic.com
2016-02-04 merge with stable (Mercurial 3.7 is out) stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:17:09 +0000] rev 1602
merge with stable (Mercurial 3.7 is out)
2016-02-04 tests: register expected difference for Mercurial 3.6 mercurial-3.6
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:13:38 +0000] rev 1601
tests: register expected difference for Mercurial 3.6
2016-02-04 tests: register expected difference for Mercurial 3.5 mercurial-3.5
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 11:07:44 +0000] rev 1600
tests: register expected difference for Mercurial 3.5
2016-02-04 test: adapt to 3.6 help changes stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 10:24:26 +0000] rev 1599
test: adapt to 3.6 help changes
2016-02-04 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com> [Thu, 04 Feb 2016 02:46:40 -0800] rev 1598
evolve: make split respect rev args passed without --rev or -r Currently, if one runs `hg split .` or `hg split`, it will fail with an exception. This happens becuase we only expect revision args to be passed as --rev/-r ones and don't treat unnamed args properly or add default values if no args are provided.
2016-02-04 evolve: write our own custom evolvestate file
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 01:19:14 +0000] rev 1597
evolve: write our own custom evolvestate file Since for ever, we were using 'graftstate' to record the node currently being evolve and allow 'hg evolve --continue' we now move to our on 'evolvestate' file. This remove and issue with 'hg summary' listing interrupted evolve as graft. This also open the way for storing more data into that file and allow proper --abort and --continue of the whole evolve operation (and not just the last one). The whole thing is very hacky but at least there is some progress. Thanks goes to Shusen Liu for initiating this work.
2016-02-04 readme: update readme for issue 4966
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 10:16:52 +0000] rev 1596
readme: update readme for issue 4966
2016-02-03 test: back hash change from 'extra' content change out
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 03 Feb 2016 23:21:50 +0000] rev 1595
test: back hash change from 'extra' content change out The changesets 13701c3fed9c, 3e907ff1981f and 54394d2aaf5e were introduced to handle a change to the way extra were carried out by various command in core. This had to be backout for 3.7.1 as is broken multiple third party extension. We backout the test update as a result. Core changesets performing the backout: ce9696193175::b698abf971e7
2016-01-22 evolve: close transaction if conflict is detected in relocate (issue4966)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 22 Jan 2016 21:41:59 +0900] rev 1594
evolve: close transaction if conflict is detected in relocate (issue4966) Before this patch, transaction is aborted, if conflict is detected at merging while "hg evolve". Since 8f2ff40fe9c9 (or 3.6) of Mercurial, aborting transaction discards all dirstate changes inside transaction scope for "transactional dirstate" (see below wiki page for detail about it). https://mercurial.selenic.com/wiki/DirstateTransactionPlan Therefore, just aborting transaction causes unchanged (and unexpected) dirstate, even though subsequent commands require dirstate changes while "hg evolve". To keep dirstate changes while "hg evolve", this patch closes current running transaction, if conflict is detected in relocate(), even though exception is raised as usual. Even though "save dirstate and restore it after aborting transaction" like shelve._aborttransaction() of Mercurial can also solve this issue, this patch chose closing transaction for similarity with failure for conflict at "hg unshelve". In addition to it, closing transaction can keep any previous (implicit) changes. In newly added test, there is an additional ancestor revision, which "will be evolved safely". It is used to examine whether failure for conflict doesn't discard already relocated revision(s) while "hg evolve". It is fact for current implementation that "hg evolve" relocates each revisions in separated transactions and already relocated ones are never discarded, even if subsequent relocation fails. Though, this examination is useful to detect unintentional regression in the future.
2016-01-22 evolve: remove meaningless transaction nesting
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 23 Jan 2016 06:18:01 +0900] rev 1593
evolve: remove meaningless transaction nesting Before this patch, functions below nest transaction scope, even though they are invoked only inside a transaction scope created at _solveone(). - _solvebumped() - _solvedivergent() - relocate() via _solveunstable() or _solvebumped() Transaction nesting is useful for localizing "success" (e.g. one scope per commit inside wider scope for multiple committing). But such nesting is redundant for _solveone(), because there is no code path, which causes failure after successfully closing inner transaction(s). In addition to it, this nesting makes it complicated to close current transaction successfully with exception raising inside inner scope, like "hg shelve" at detection of conflicts. "tr.close()" is required at each outer scopes for such case. To remove meaningless transaction nesting, this patch replaces repo.transaction() in functions above by repo.currenttransaction(). This reuses transaction created at _solveone(). This patch also adds 'assert tr' after getting current running transaction, to avoid invocation of functions above without transaction.
2016-01-26 evolve: extract logic to new method _evolvemerge
Shusen LIU <liushusen@fb.com> [Tue, 26 Jan 2016 15:42:01 -0800] rev 1592
evolve: extract logic to new method _evolvemerge This patch introduces a new method _evolvemerge to merge orig to dest in relocate method. This simplifies the code of the method relocate and allows us to re-use it later in the scope of the rework of 'hg evolve --continue'
2016-01-30 test: add extra expected output
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 30 Jan 2016 16:53:12 +0100] rev 1591
test: add extra expected output (I forgot to amend...)
2016-01-22 inhibit: make bookmark -D work with a list of bookmarks
Jeroen Vaelen <jeroen@fb.com> [Fri, 22 Jan 2016 19:16:38 +0000] rev 1590
inhibit: make bookmark -D work with a list of bookmarks `hg bookmark -D` was not accepting a list of bookmarks. This behavior was inconsistent with the behavior of `hg bookmark -d`, which does accept multiple bookmarks.
2016-01-18 touch: prompt the user for what to do with the revived changeset
Laurent Charignon <lcharignon@fb.com> [Sun, 17 Jan 2016 16:55:40 -0800] rev 1589
touch: prompt the user for what to do with the revived changeset This patch improves our interface for reviving changesets. This patch makes touch not assume that the user wants to create divergence by default and gives a prompt instead. The prompt is skipped for changeset that have no living successor as no divergence would be created by reviving them anyway. To restore the previous behavior, one should now use the --allowdivergence flag. The prompt looks like: [10] <description> reviving this changeset will create divergence unless you make a duplicate. (a)llow divergence or (d)uplicate the changeset? a In further patches we will want to add one more choice to that prompt, for example having a marker between the old and revived nodes but no divergence displayed on the UI.
2016-01-27 inhibit: fix compat with rebaseskipobsolete
Laurent Charignon <lcharignon@fb.com> [Wed, 27 Jan 2016 13:57:08 -0800] rev 1588
inhibit: fix compat with rebaseskipobsolete We wrap _computeobsoletenotrebased and _clearrebased to fix the following case: - Assuming that we have markers from revisions of the rebase set and destination set and that these markers are inhibited - At the end of the rebase the nodes are still visible because rebase operate without inhibition and skip these nodes Had we not have those markers to begin with the revisions could be hidden at the end of the rebase. We keep track in repo._obsoletenotrebased of the obsolete commits skipped by the rebase and lift the inhibition at the end of the rebase. We add three test cases to make sure that the edge cases are covered.
2016-01-19 test: update with new graft output
Durham Goode <durham@fb.com> [Tue, 19 Jan 2016 15:30:23 -0800] rev 1587
test: update with new graft output Graft now has a --continue it seems. We need to update our test output.
2016-01-18 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 Jan 2016 22:02:44 -0800] rev 1586
merge with stable
2016-01-18 tests: fix change to help output
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 Jan 2016 21:09:45 -0800] rev 1585
tests: fix change to help output Core have made minor update to its documentation.
2016-01-14 tests: change some double quotes to single quotes stable
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Jan 2016 14:02:05 -0800] rev 1584
tests: change some double quotes to single quotes Since hg core change 58f8b29c37ff (minirst: change hgrole to use single quotes, 2016-01-12)
2016-01-14 inhibit: fix compatibility with changes in rebase
Laurent Charignon <lcharignon@fb.com> [Thu, 14 Jan 2016 12:02:38 -0800] rev 1583
inhibit: fix compatibility with changes in rebase Because we compute the obsolete revisions before calling _computeobsoletenotrebased lifting the inhibition stopped working since 8a8ee8338e6 in core. This patch makes it work again.
2016-01-10 inhibit: fix _filterpublic
Laurent Charignon <lcharignon@fb.com> [Sun, 10 Jan 2016 10:52:24 -0800] rev 1582
inhibit: fix _filterpublic Before this patch, _filterpublic would always filter rep._obsinhibit and not its "nodes" argument. Fortunately, we always called it with repo._obsinhibit as its "nodes" argument!
2016-01-04 debian: blacklist test-inhibit.t
Laurent Charignon <lcharignon@fb.com> [Mon, 04 Jan 2016 14:01:17 -0800] rev 1581
debian: blacklist test-inhibit.t Since we don't add inhibit to the debian packages, let's not run test-inhibit.t
(0) -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 tip