Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:04:58 +0100] rev 1816
merge with mercurial-4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:00:17 +0100] rev 1815
merge future 5.6.1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:22:21 +0100] rev 1814
Added tag 5.6.1 for changeset 70694b2621ba
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:21:56 +0100] rev 1813
update debian changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Feb 2017 16:33:17 +0100] rev 1812
evolve: extend API fix from 25254b2f8116 to another relevant case
For some reason, only part of this API change got fixes. Test did not caught
this because 'False' is a valid revision number (0) and update force did not
mind using it as an ancestors. The API changed in Mercurial 43c00ca887d1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:19:33 +0100] rev 1811
hgext3rd: drop the last remains of hgext3rd
Not that all extensions as moved, we can drop the directory.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:18:21 +0100] rev 1810
hgext3rd: move 'obsolete' as 'evolve.legacy'
We move that last extension. It seems like we could use the repo upgrade
framework for this, but this is another adventure.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:11:50 +0100] rev 1809
hgext3rd: move 'drophack' as 'evolve.hack.drophack'
Yet another extension migrating. Ideally we would implement stripping
obsolescence marker in code soon and be able to dispose of this extensions
directly. In the mean time this goes into the "hack" namespace.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:07:28 +0100] rev 1808
hgext3rd: move 'simple4server' as 'evolve.serveronly'
We also more the server only extension into hgext3rd. We makes it a python
sub-module of evolve for two reasons:
* less polution in the hgext3rd namespace,
* this make it possible to share the code between 'evolve' and
'evolve.serveronly' instead of duplicating it.
note that we now install the extension too
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:36:18 +0100] rev 1807
hgext3rd: move 'directaccess' and 'inhibit' in 'evolve.hack'
We move them in the 'hgext3rd' package. In the same move we put them under the
'evolve' package for clarity. We use a sub-package 'hack' to make their status
clearer.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 15:09:03 +0100] rev 1806
evolve: move the extensions to 'hgext3rd'
We have the 'hgext3rd' as the official place for extension for some time now.
We start the big migration. This might break some people setup but this is a
necessary step to have evolve easily available through pip.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 05:42:50 +0100] rev 1805
extensions: drop the old 'pushexperiment' extension
This extensions predate bundle-2 and their have not been any reason to use it
for years.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:23:11 +0100] rev 1804
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:19:58 +0100] rev 1803
Update tag 5.6.0 for changeset e7b6e9c4a5d4
There was a small error in the README. The previous tag is fresh and the
announcement was sent yet. So I'm exceptionally overwriting the tag.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:19:50 +0100] rev 1802
fix release date in the Readme,
Copy paste error :-/
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:17:09 +0100] rev 1801
reopen the default branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:03:39 +0100] rev 1800
merge with 5.6.0
no extra changes were needed from the mercurial-3.5 branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:51:02 +0100] rev 1799
merge with 5.6.0
no extra changes were needed form the mercurial-3.6 branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:45:20 +0100] rev 1798
merge with 5.6.0
No extra changes were needed from the mercurial-3.7 branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:40:51 +0100] rev 1797
merge with 5.6.0
Not extra change were needed from the mercurial-3.8 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:32:59 +0100] rev 1796
merge with 5.6.0
A minor one line conflict on test output were encountered.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:27:04 +0100] rev 1795
merge with 5.6.0
No extra changes needed from the 'mercurial-4.' branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:15:34 +0100] rev 1794
merge with future 5.6.0
There is only minor test output change, 4.0 do not have the "trouble:" wording
in there.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:09:40 +0100] rev 1793
Added tag 5.6.0 for changeset 99ede2d77545
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:05:21 +0100] rev 1792
exchange: fix compatibility layer
We forgot a return into some compatibility layer. This is now fixed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:09:06 +0100] rev 1791
open the mercurial-3.9 compat branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:08:03 +0100] rev 1790
prepare release 5.6.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:07:30 +0100] rev 1789
debian: fix version format
There was a small error in the debian packaging
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:04:54 +0100] rev 1788
merge with default to prepare the next version
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:02:59 +0100] rev 1787
merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 31 Jan 2017 12:32:45 -0800] rev 1786
uncommit: don't lose copy information of remaining files (issue5403)
As reported in the issue, "hg uncommit" would lose copy information of
the files that remained in the commit. The problem was simply that the
a dict of copies was iterated as "src, dst in copies.items()" where it
should have been "dst, src ...".
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Jan 2017 16:50:19 +0100] rev 1785
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Jan 2017 16:40:45 +0100] rev 1784
fold: cleanly abort on empty fold set (issue5453)
We now handle the empty set case, cleanly aborting instead of crashing with a
traceback. The message used match the output of 'hg push' in similar situation.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 23 Jan 2017 16:09:16 +0100] rev 1783
README: update changelog
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Jan 2017 13:47:49 -0800] rev 1782
fold: require --from flag for folding revisions to working copy
It's very easy to think that "hg fold 4::6" will fold exactly those
revisions. In reality, it will fold those *and* any revisions between
them and the working copy. To prevent users from making that mistake,
require the use of a new --from flag for folding revisions from the
given set to the working copy. With this change, I'm sure some users
will be surprised that the command can not be run without either
--from or --exact, but at least the consequences will be smaller (the
command simply aborts and the user can try again).
Martin von Zweigbergk <martinvonz@google.com> [Tue, 13 Dec 2016 10:28:09 -0800] rev 1781
fold: use 'fold', not 'touch', for transaction description
Stanislau Hlebik <stash@fb.com> [Thu, 05 Jan 2017 01:36:37 -0800] rev 1780
tests: fix tests to reflect hg core changes
In f05ede08dcf7d13794ccc9abb53877a50bf2b58b in core hg there were changes to
changeset_printer.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 Nov 2016 21:00:42 +0530] rev 1779
prune: improve error message if unstable changes are disallowed
I saw a question on stackoverflow why evolve reports something like cannot
fold chain not ending with head. Even I was confused the first time about the
behavior. The error message can be improved to avoid confusion to people who
are unaware about the config in future.
Martijn Pieters <mjpieters@fb.com> [Wed, 30 Nov 2016 11:17:55 +0000] rev 1778
wireproto: chunking and compression is forthwith to be handled by hgweb
Various functions disappeared in the process. Use the new streamres API but fall back to the old way if the keyword arguments are not accepted.
See https://www.mercurial-scm.org/repo/hg/rev/2add671bf55b
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 06 Nov 2016 19:19:28 +0100] rev 1777
readme: fix the test run command
As we use the run-tests.py in Mercurial, we do not need to specify the path to a
Mercurial utility.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:56:44 +0100] rev 1776
Manifest.in: exclude unshipped extensions
Many extensions life in the repository without being shipped we exclude them
from the dist tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:54:05 +0100] rev 1775
Manifest.in: include Manifest.in
Apparently this file should be in the tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:53:49 +0100] rev 1774
Manifest.in: exclude debian related file
The debian rules life in the repository for convenience, however they should not
be included in the dist tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:53:28 +0100] rev 1773
Manifest.in: include all script in tests
We now have a small fake editor scrip that should be in the dist tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:53:07 +0100] rev 1772
Manifest.in: drop tests/test-qsync.t entry
This file is now longer in the repository.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:52:46 +0100] rev 1771
Manifest.in: drop the 'tests/dummyssh' entry
That file is now longer in the repository for some time.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:50:54 +0100] rev 1770
Manifest.in: sort entry
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:49:19 +0100] rev 1769
makefile: fix documentation
The only available rules is 'deb-prepare' we fix the documentation.
Simon Farnsworth <simonfar@fb.com> [Tue, 25 Oct 2016 05:15:52 -0700] rev 1768
tests: use curl instead of wget
curl is supplied by default on macOS 10.12, but wget isn't. As curl is easy
to install on other OSes, just switch the tests over.
For Windows systems, you can obtain cURL from
https://curl.haxx.se/download.html - for other systems, please use your
native package manager.
This undoes 4e7da688a066 and 3ffa12edc05a, as they don't make things much
simpler on Windows (you have to install extra packages either way round),
but they do make things harder on macOS (as curl is supplied by default,
whereas wget isn't).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:31:31 +0100] rev 1767
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:28:34 +0100] rev 1766
Added tag 5.5.0 for changeset 727c7211c810
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:18:33 +0100] rev 1765
prepare release 5.5.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:16:04 +0100] rev 1764
readme: mention that the next release make use 4.0 compatible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 15:07:27 +0200] rev 1763
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 15:04:23 +0200] rev 1762
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 15:01:41 +0200] rev 1761
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 14:55:57 +0200] rev 1760
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 14:49:37 +0200] rev 1759
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 14:40:47 +0200] rev 1758
merge with latest fix
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 17:25:06 -0700] rev 1757
errors: add missing imports of mercurial.error
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 17:15:57 -0700] rev 1756
evolve: use single quotes in usage messages
Mercurial core has moved in this direction, so let's follow.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 17:11:43 -0700] rev 1755
evolve: prefer "abort" over "abandon" in messages for consistency
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 15:17:27 -0700] rev 1754
setupevolveunfinished: use "hg update -C ." to abort
I don't know what this function does, but it seems like it should
recommend the same way of aborting as other places do.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 15:04:40 -0700] rev 1753
evolve: suggest "hg update -C .", including '.', to abort evolve
The user will probably not also want to change commit when they abort
evolve, like "hg update -C" (without the '.') would do. Note that we
already do recommend aborting by using "hg update -C ." in another
place.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 17:03:53 +0200] rev 1752
evolve: update the tested with statement
Test pass fine with 4.0-rc. By some magic, we are still compatible down to
Mercurial 3.4.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 17:02:56 +0200] rev 1751
merge with future 5.5
All was fine for 3.4.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:59:32 +0200] rev 1750
merge future 5.5
There is a small limitation of split that does not clean up its working
directory on failure otherwise all is fine.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:34:57 +0200] rev 1749
merge with future 5.5
No extra change needed to get the test to passe with 3.6
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:26:25 +0200] rev 1748
merge with future 5.5
No extra new change are needed from the one needed from the 3.8 branch and previous
version.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:16:19 +0200] rev 1747
merge with future 5.5
Test also run on 3.8 with minor cosmetic change. The 'separate' function is not
available before 3.9 so we had to drop it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:03:00 +0200] rev 1746
integrate code update and test change from future 5.5 code
This prove that the code is compatible with 3.9
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 15:44:15 +0200] rev 1745
merge with default, Mercurial 4.0-rc is out
The content of the Mercurial stable branch changed, we update it here too.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 15:43:21 +0200] rev 1744
open the mercurial-3.9 compat branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 16 Oct 2016 20:29:27 +0200] rev 1743
merge with stable
Simon Farnsworth <simonfar@fb.com> [Sun, 16 Oct 2016 09:52:53 -0700] rev 1742
evolve: lock the working copy early in next and prev (issue5244)
Both next and prev depend on a consistent working copy, but were waiting to
take the lock until they were ready to alter the working copy.
Take the lock before reading the working copy state, and do not release it
until we're definitely not going to change the working copy.
Simon Farnsworth <simonfar@fb.com> [Sat, 08 Oct 2016 08:14:21 -0700] rev 1741
evolve: indent cmdnext and cmdprev ready for locking change (issue5244)
The locking change I'm about to introduce forces an indentation shift. Do
the indentation change with no code change now, to make the next change
easier to review
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 16 Oct 2016 13:50:45 +0200] rev 1740
tests: adapt to some change to topic output
Philippe Pepiot <philippe.pepiot@logilab.fr> [Sat, 08 Oct 2016 15:49:12 +0200] rev 1739
split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr> [Sat, 08 Oct 2016 15:49:12 +0200] rev 1738
split: avoid trying to split an empty commit (issue5191)
Kostia Balytskyi <ikostia@fb.com> [Thu, 22 Sep 2016 09:15:30 -0700] rev 1737
evolve: fix test breaks related to double->single quote changes
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 13 Sep 2016 01:25:17 +0200] rev 1736
merge with stable
Durham Goode <durham@fb.com> [Mon, 12 Sep 2016 10:41:00 -0700] rev 1735
bump: copy parent manifest before editting it
Previously, the bump code would access the previous manifest, then edit that
dictionary data structure. Because the manifest was in the mancache at that
time, those edits were persisted to other readers who asked for that manifest.
This caused commits being made during bump to have the wrong file parents in
many situations (hence why the tests need updating).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 13 Sep 2016 00:56:57 +0200] rev 1734
backed out changeset 7a76f9a43e89
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 10 Sep 2016 13:26:19 +0200] rev 1733
readme: add an entry about the {obsolete} template change
(It should have been included into the parent changeset.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 09 Sep 2016 16:42:41 -0700] rev 1732
templates: change {obsolete} to emit only "obsolete" or ""
The {obsolete} template function can currently emit "stable",
"unstable", "extinct", or "suspended".
The distinction between "extinct" and "suspended" seems likely to be
more confusing that enlightening, and "stable" and "unstable" are not
even obsolete.
Let's simplify it to just emit "obsolete" for obsolete changesets and
"" for others. That will also make it much easier to test for obsolete
changsets and do things like "if(obsolete, obsolete, troubles)".
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 07 Sep 2016 17:51:15 +0200] rev 1731
debug data for manifest change in core
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Sep 2016 07:40:27 +0530] rev 1730
evolve: drop point release of versions
Modern Mercurial only looks at X.Y versions, so point releases can be dropped.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Sep 2016 04:38:56 +0530] rev 1729
evolve: removed redundant try/finally blocks
There were two todo's to remove the redundant try finally blocks.
Done that and also fixed the indentation afterwards.
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:37:15 +0800] rev 1728
docs: spelling fixes
Squashed into 1 commit because I'm lazy:
- non-existant -> nonexistent
- accros -> across
- comptatibility -> compatibility
- requieres -> requires
- aliast -> alias
- unexistent -> nonexistent
- convertion -> conversion
- nto -> not
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:25:17 +0800] rev 1727
simple4server: update buglink to point to bz.mercurial-scm.org
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:24:58 +0800] rev 1726
evolve: update buglink to point to bz.mercurial-scm.org
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:24:13 +0800] rev 1725
docs: use https for mercurial-scm.org
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:17:41 +0800] rev 1724
docs: point wiki and bz links to mercurial-scm.org
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 29 Aug 2016 14:54:20 +0200] rev 1723
test: adapt to topic changes
We display more information about the stacks, so we have to take than in account
in the tests.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 11 Aug 2016 23:00:46 +0200] rev 1722
continue: ensure we hold the wlock before writing file to disk
A hack in 'hg evolve --continue' involve writing a 'graftstate' file. We take
the wlock before doing so.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 09 Aug 2016 00:37:58 +0200] rev 1721
test: also use 'devel.legacy.exchange=bundle1' in test
Changeset 39537bc64442 in mercurial removed the 'experimental.bundle2' option.
We use the new option in parallel.
Ryan McElroy <rmcelroy@fb.com> [Mon, 08 Aug 2016 10:05:47 -0700] rev 1720
dirstate: use arg count for version check
In 52ff07e1de91 in the main hg repo, dirstate was changed to require a second
argument, making the default args check no longer work. Instead, we switch
to check the number of arguments, which should be backwards and forwards
compatible.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:55:11 +0200] rev 1719
merge back with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:42:38 +0200] rev 1718
Added tag 5.4.1 for changeset 2ad40d972a74
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:40:04 +0200] rev 1717
prepare release 5.4.1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:37:48 +0200] rev 1716
3.9 have been released
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:37:03 +0200] rev 1715
open mercurial-3.7 compat branch
Jun Wu <quark@fb.com> [Wed, 22 Jun 2016 18:22:17 +0100] rev 1714
directaccess: make sure gethashsymbols does not return rev numbers
With "hg log -r 1 -r 2 -r 3", gethashsymbols will get the following tree:
('func', ('symbol', '_list'), ('string', '1\x002\x003'))
Before this patch, it will return ['1', '2', '3'], which are revision
numbers and causes unnecessary (expensive) partialmatch lookups.
This patch refacts gethashsymbols a bit, making sure the returning values
are always filtered.
Jeroen Vaelen <jeroen@fb.com> [Wed, 15 Jun 2016 15:19:38 -0700] rev 1713
evolve: use hashlib to compute sha1 hashes
The util alias for sha1 was dropped in c27dc3c3122 in favor of hashlib.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 27 May 2016 17:36:07 +0200] rev 1712
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 27 May 2016 17:33:53 +0200] rev 1711
inhibit: protect agains dropped 'bmstore.write'
As planned per the deprecation policy, 'bmstore.write' have been dropped in
Mercurial core (052c9318e464).
timeless@gmail.com [Wed, 25 May 2016 19:41:08 +0000] rev 1710
help: fix evolution help grammar
timeless@gmail.com [Wed, 25 May 2016 19:13:26 +0000] rev 1709
help: fix evolution hg phases reference
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:24:17 +0200] rev 1708
merge latest tag in 3.4 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:24:00 +0200] rev 1707
merge latest tag in 3.5 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:23:43 +0200] rev 1706
merge latest tag in 3.6-branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:23:25 +0200] rev 1705
merge latest tag in 3.7-branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:22:54 +0200] rev 1704
merge back with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:22:24 +0200] rev 1703
Added tag 5.4.0 for changeset b21ce82e6f76
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:18:24 +0200] rev 1702
evolve: prepare release of version 5.4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:16:18 +0200] rev 1701
evolve: update testedwith field
3.8.1 is working fine and no older branch had to be dropped.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:08:31 +0200] rev 1700
merge with stable through 3.5 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:03:28 +0200] rev 1699
test: wider glob for payload size
For some reason this various a bit more than previously though.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:00:14 +0200] rev 1698
merge with stable throug 3.6 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 23:51:35 +0200] rev 1697
merge with stable through 3.7 branch
dropped the topic test and updated output with some minor difference
Hg: Enter commit message. Lines beginning with 'HG:' are removed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 22:22:30 +0200] rev 1696
mercurial-3.7: revert output change
No feature regression but various output change
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 22:13:02 +0200] rev 1695
merge default into stable
Mercurial 3.8 have been release, let's get ready for a 5.4.0 release.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:54:26 +0200] rev 1694
test: rename TOPICROOT to HGTEST_TOPICROOT
Mercurial is about to introduce whitelisting of environment variable, we comply
to the planned prefix in advance in a hope to stay compatible in the future.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:42:49 +0200] rev 1693
test: update topic test output for order change
As in topic d8f1e432b16a the tipmost changeset is now displayed first. We adapt
the test output to reflect it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:38:04 +0200] rev 1692
test: update topic test output for indexing change
Changeset 61f36480740f in topic updated the indexing scheme, we update the test
to take this into account.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:35:53 +0200] rev 1691
test: adapt topic test
The 'created new head' bug was fixed in bdc5bb223b50, we adapt the test with
the fixed output.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 20:14:39 +0200] rev 1690
test: improve skipped message for topic
The skipped message should point people to a way to solve the situation.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 02 May 2016 18:40:21 +0200] rev 1689
prune: suggest --biject in error "hint"
When use specify multiple changesets to prune and as successors, we should point
them to the right options to confirm there intend.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 02 May 2016 18:24:36 +0200] rev 1688
metaedit: check for public changeset before instability
Public changeset will stay public even if the selection is adjusted, this is a
more definitive condition that is worth warning about first.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 02 May 2016 18:21:54 +0200] rev 1687
fold: move sanity check after locking
Checking for operation validaty without the locks open us to race condition.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1686
metaedit: add support for folding commits while editing their metadata
This also allows us to accept multiple commits without dealing with the thorny
algorithmic and UI issues of editing multiple commits at once.
Crucially, it is different from 'hg fold --exact' in that it also allows
'folding' a single commit and rewriting its metadata. This is really useful to
have as a single logical operation, for example while preparing a series of
multiple local changesets that will need to be pushed as a single changeset.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1685
commands: introduce a new command to edit commit metadata
This patch introduces metaedit, a command to metadata of a set of revisions
without updating the working copy. This is particularly relevant for
repositories where changing the parent of the working copy is time-consuming.
We could add more stack manipulation operations to metaedit in the future.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1684
evolve: factor out check for creating unstable commits
This check is pretty non-trivial, and we do it in two places already. We're
going to do it in a third place soon.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1683
evolve: factor out sanity checks for folds
We're going to use the same checks in another context in an upcoming patch.
timeless@gmail.com [Thu, 21 Apr 2016 06:12:20 +0000] rev 1682
evolve: include node, rev, desc, and phase in list
timeless@gmail.com [Thu, 21 Apr 2016 06:11:57 +0000] rev 1681
evolve: use hex in list output
timeless@gmail.com [Wed, 20 Apr 2016 19:00:13 +0000] rev 1680
py3: use items() instead of iteritems()
timeless@gmail.com [Wed, 20 Apr 2016 18:59:46 +0000] rev 1679
py3: change except from two comma to as notation
timeless@gmail.com [Wed, 20 Apr 2016 18:58:52 +0000] rev 1678
py3: tolerate io/StringIO divergence
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Sun, 24 Apr 2016 22:31:58 -0400] rev 1677
split: rewrite the pre-split commit message
I find this wording slightly clearer.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 20 Apr 2016 17:11:49 -0700] rev 1676
open mercurial-3.7 compat branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 20 Apr 2016 17:08:59 -0700] rev 1675
readme: add various missing parts
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 20 Apr 2016 16:40:11 -0700] rev 1674
hgignore: add an ignore rule for test timing
Modern tests runner store a record of last test run timing. We properly ignore
it.
Laurent Charignon <lcharignon@fb.com> [Tue, 19 Apr 2016 14:29:40 -0700] rev 1673
tests: change quoting pattern to match core's conventions
This patch modifies two tests to match new quoting patterns used in core:
(use "hg config --edit" to set your username) becomes
(use 'hg config --edit' to set your username)
and
(use hg resolve and hg graft --continue) becomes
(use 'hg resolve' and 'hg graft --continue')
timeless@gmail.com [Fri, 14 Sep 2012 11:32:28 -0400] rev 1672
Spelling: committed
timeless@gmail.com [Fri, 14 Sep 2012 11:30:32 -0400] rev 1671
Spelling (en-us): behavior
timeless@gmail.com [Fri, 14 Sep 2012 11:28:31 -0400] rev 1670
Spelling: forbidden
timeless@gmail.com [Wed, 12 Sep 2012 17:57:30 -0400] rev 1669
Brand: Mercurial
timeless@gmail.com [Wed, 12 Sep 2012 18:27:16 -0400] rev 1668
Grammar: paragraphs should end with periods
timeless@gmail.com [Wed, 12 Sep 2012 18:25:48 -0400] rev 1667
Grammar: the
timeless@gmail.com [Wed, 12 Sep 2012 17:57:15 -0400] rev 1666
Grammar: resulting issues
timeless@gmail.com [Wed, 12 Sep 2012 18:06:44 -0400] rev 1665
Grammar: introduced
timeless@gmail.com [Wed, 12 Sep 2012 18:31:15 -0400] rev 1664
Grammar: has
timeless@gmail.com [Fri, 14 Sep 2012 10:37:09 -0400] rev 1663
Spelling: versioning
timeless@gmail.com [Wed, 12 Sep 2012 18:15:16 -0400] rev 1662
Spelling: unnecessary
timeless@gmail.com [Wed, 12 Sep 2012 18:14:40 -0400] rev 1661
Spelling: through
timeless@gmail.com [Fri, 14 Sep 2012 10:35:21 -0400] rev 1660
Spelling: those
timeless@gmail.com [Wed, 12 Sep 2012 18:11:23 -0400] rev 1659
Spelling: succeeded
timeless@gmail.com [Fri, 14 Sep 2012 10:32:39 -0400] rev 1658
Spelling: remotely
timeless@gmail.com [Wed, 12 Sep 2012 18:02:05 -0400] rev 1657
Spelling: remains
timeless@gmail.com [Fri, 14 Sep 2012 10:07:31 -0400] rev 1656
Spelling: precursors
timeless@gmail.com [Fri, 14 Sep 2012 10:07:15 -0400] rev 1655
Spelling: practice
timeless@gmail.com [Thu, 13 Sep 2012 17:34:14 -0400] rev 1654
Spelling: directory
timeless@gmail.com [Thu, 13 Sep 2012 17:31:46 -0400] rev 1653
Spelling: happened
timeless@gmail.com [Wed, 12 Sep 2012 18:06:36 -0400] rev 1652
Spelling: formerly
timeless@gmail.com [Wed, 12 Sep 2012 18:05:44 -0400] rev 1651
Spelling: extinct
timeless@gmail.com [Thu, 13 Sep 2012 17:34:29 -0400] rev 1650
Spelling: directly
timeless@gmail.com [Wed, 12 Sep 2012 18:03:19 -0400] rev 1649
Spelling: deserialize
timeless@gmail.com [Thu, 13 Sep 2012 17:29:45 -0400] rev 1648
Spelling: accessing
timeless@gmail.com [Wed, 12 Sep 2012 18:09:10 -0400] rev 1647
Spelling (en-us): -ize
timeless@gmail.com [Thu, 14 Apr 2016 21:30:57 +0000] rev 1646
list: report the phase for divergent commits
timeless@gmail.com [Thu, 14 Apr 2016 17:42:18 +0000] rev 1645
readme: improve bug tracker link
timeless@gmail.com [Thu, 14 Apr 2016 17:40:56 +0000] rev 1644
readme: fix domain for bug tracker (bz.mercurial-scm.org)
timeless@gmail.com [Thu, 14 Apr 2016 18:33:00 +0000] rev 1643
ignore: remove stale items
docs are built into ^/html
timeless@gmail.com [Thu, 14 Apr 2016 18:07:40 +0000] rev 1642
project: change evolution domain to mercurial-scm
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 13:02:23 -0700] rev 1641
tests: adapt output to the new graphlog style
Core have change the way graphmod handle missing parent. We adapt our output.
timeless@gmail.com [Thu, 14 Apr 2016 03:42:48 +0000] rev 1640
evolve: add --continue note to summary
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.
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.
timeless@gmail.com [Wed, 13 Apr 2016 23:36:44 +0000] rev 1637
list: limit to descriptions to firstline
timeless@gmail.com [Fri, 08 Apr 2016 18:45:58 +0000] rev 1636
config: report evolve as origin for config
timeless@gmail.com [Fri, 08 Apr 2016 18:45:45 +0000] rev 1635
alias: report evolve as origin for aliases
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)
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 18 Mar 2016 23:49:32 -0700] rev 1633
merge with 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.
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.
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.
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
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.
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
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.
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.
Anton Shestakov <av6@dwimlabs.net> [Sat, 12 Mar 2016 13:59:07 +0800] rev 1624
evolve: mark progress units for translation
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.
Anton Shestakov <av6@dwimlabs.net> [Sat, 12 Mar 2016 13:15:28 +0800] rev 1622
debugrecordpruneparents: fix an apparent typo (marks)
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.
liscju <piotr.listkiewicz@gmail.com> [Fri, 11 Mar 2016 13:11:54 +0100] rev 1620
evolve: remove unused import
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Feb 2016 13:18:36 +0100] rev 1618
merge stable into default
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.
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.
Nathan Goldbaum <ngoldbau@ucsc.edu> [Wed, 10 Feb 2016 18:54:49 -0600] rev 1615
split: fix wording of documentation for --rev option
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:44:28 +0000] rev 1614
merge with 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
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
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:37:05 +0000] rev 1611
prepare version 5.3.0
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
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:35:16 +0000] rev 1609
Readme: mention fix for issue4950
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
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
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Feb 2016 00:07:54 +0000] rev 1606
merge with stable through 3.6
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
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
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
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)
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
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
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
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Feb 2016 10:16:52 +0000] rev 1596
readme: update readme for issue 4966
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
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.
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.
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'
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...)
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 17 Jan 2016 22:02:44 -0800] rev 1586
merge with stable
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.
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)
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.
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!
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
Laurent Charignon <lcharignon@fb.com> [Mon, 04 Jan 2016 08:39:58 -0800] rev 1580
evolve: duplicate evolution summary entries (issue5014)
Since we added summary entries for trouble changesets in core we don't need to
display it anymore in evolve for the version of hg with the change. Tested with
3.6.1 and 3.6.2.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 03 Jan 2016 16:47:57 +0100] rev 1579
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 03 Jan 2016 15:51:36 +0100] rev 1578
merge with the rest of stable
Faheem Mitha <faheem@faheem.info> [Wed, 30 Dec 2015 03:48:11 +0530] rev 1577
debian: update changelog to 5.2.1
Andrew Halberstadt <ahalberstadt@mozilla.com> [Thu, 26 Nov 2015 20:38:31 -0500] rev 1576
evolve: handle merge commit with single obsolete parent (issue4389)
This handles evolving merge commits with a single obsolete parent. Merge
commits with two obsolete parents are still unsupported. Note this depends
on a change to merge.graft in core. Older versions of mercurial will not
have this functionality. Also, test-unstable.t will fail with older
versions.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Dec 2015 14:11:09 +0000] rev 1575
merge with stable
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:39:59 -0500] rev 1574
evolve: rewrite help for prune command
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:38:49 -0500] rev 1573
evolve: improve help for split command
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:38:22 -0500] rev 1572
evolve: improve help for prev, next commands
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 13:37:26 -0500] rev 1571
evolve: improve the confusing docstring for _orderrevs()
Greg Ward <greg@gerg.ca> [Sat, 07 Nov 2015 09:48:04 -0500] rev 1570
evolve: improve help for some debug commands
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 21:42:06 -0500] rev 1569
evolve: scattered typo fixes in comments, docstrings
Shusen LIU <liushusen@fb.com> [Mon, 14 Dec 2015 17:21:11 -0800] rev 1568
evolve: extract logic to new method _finalizerelocate
This patch introduces a new method _finalizerelocate to finalize current state
after merge states in relocate method.
This simplifies the code of the method relocate and allows us to modify it
later to support a continued keywork to implement evolve state.
Shusen LIU <liushusen@fb.com> [Mon, 14 Dec 2015 17:02:55 -0800] rev 1567
evolve: extract logic to new method _relocatecommit
This patch introduces a new method _relocatecommit to commit current state
after merge states in relocate method.
This simplifies the code of the method relocate and allows us to modify it later to
support a continued keywork to implement evolve state.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Dec 2015 16:00:32 +0000] rev 1566
evolve: apply API change to 'merge.update'
Mercurial core43c00ca887d1 (future 3.7) changed the signature of the
'mercurial.merge.update', this impact our code so we update it. This
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Dec 2015 16:29:55 -0800] rev 1565
debian: don't refer to deleted tests/run-tests.py in debian/rules
tests/run-tests.py was deleted in 25a0c31882df (tests: remove the
custom run-tests.py, 2015-11-02), but we still refer to it in
debian/rules. Fix by having the user define a HGSRC variable when
calling 'debuild' (with e.g '-e HGSRC=~/hg').
Shubhanshu Agrawal <agrawal.shubhanshu@gmail.com> [Fri, 11 Dec 2015 12:27:37 -0800] rev 1564
prune: changing bookmark argument to be a list
Currently prune works with a single bookmark
the changes in this patch modifies the prune
command to accept a list of bookmarks
Also changes to inhibit module which internally
calls the cmdprune function. the change is to
wrap the bookmark input into a list.
Shubhanshu Agrawal <agrawal.shubhanshu@gmail.com> [Fri, 11 Dec 2015 10:42:46 -0800] rev 1563
prune: remove a list of bookmarks
Currently prune works with a single bookmark,
the changes in this patch modifies the prune module
to work with a list of bookmarks
Building on this we can take a list of bookmarks as input
and remove all of them in a single go
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Dec 2015 11:15:33 +0000] rev 1562
test: adapt to fix to "known" wireprotocol command
Core fixed a bug in discovery (in b64b6fdc5c9b) and this is showing up in our
test output.
Shubhanshu Agrawal <agrawal.shubhanshu@gmail.com> [Thu, 10 Dec 2015 15:55:07 -0800] rev 1561
evolve: renaming local variables
Renaming local variables to be more precise, i want to store
a different list of bookmarks(input-list) and it would be hard to
understand what marks represents in that change therefore
renaming it to repomarks.
Renames mark to bookmark, which will make the changes in next
patch more understandable, when it is pluraized.
Also renames bookmarks (module) to bookmarksmod so as to
free up the name when bookmark gets pluralized.
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 15:34:34 -0800] rev 1560
inhibit: backout 23a34dce5131 remove unused bookmark operation wrapping
This breaks potentially a lot of things. Let's give a change to extensions
maintainers to adapt to the new bookmarks.write api before removing this code
right away.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Dec 2015 10:51:04 +0000] rev 1559
readme: add something about bookmark within transaction
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 15:09:25 -0800] rev 1558
commitwrapper: use bookmarks.recordchange instead of bookmarks.write
Before this patch we were using the deprecated API bookmarks.write, this patch
replace its usage by the new API call bookmarks.recordchange.
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 14:43:31 -0800] rev 1557
next: replace call to bookmarks.write by bookmarks.recordchange
bookmarks.write is now deprecated, we are moving to the new api:
bookmarks.recordchange.
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 14:43:00 -0800] rev 1556
previous: replace call to bookmarks.write by bookmarks.recordchange
bookmarks.write is now deprecated, we are moving to the new api:
bookmarks.recordchange.
Laurent Charignon <lcharignon@fb.com> [Thu, 10 Dec 2015 14:17:27 -0800] rev 1555
prune: use bookmarks.recordchange instead of bookmarks.write
Before this patch we were using the deprecated bookmarks.write instead of
bookmarks.recordchange in prune
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Dec 2015 10:49:29 +0000] rev 1554
transaction: fix release order in 'rewrite'
This was wrong for quite sometime.
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:28:29 -0800] rev 1553
check-code: make drophack comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:28:00 -0800] rev 1552
check-code: make directaccess.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:31:19 -0800] rev 1551
check-code: make inhibit.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:31:34 -0800] rev 1550
check-code: make obsolete.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:21:16 -0800] rev 1549
check-code: make pushexperiment.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:19:36 -0800] rev 1548
check-code: make simple4server.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 15:10:53 -0800] rev 1547
check-code: make evolve.py comply with check-code
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:00:59 -0800] rev 1546
evolve: fix test-inhibit to match latest hg
When I fixed an issue in core about rebaseset 40a2f972f26d (that I introduced
before), it restored the original behavior of inhibit with rebase. This patch
fixes test-inhibit to match the latest hg.
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:00:48 -0800] rev 1545
evolve: fix test-stabilize-conflict.t to match new extra computation in core
Recent patches changed the way we compute extras for rebase and graft. This
changes the hashes in evolve's tests. This patch fixes the test
test-stabilize-conflict.t.
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:01:28 -0800] rev 1544
evolve: fix test-sharing.t to match new extra computation in core
Recent patches changed the way we compute extras for rebase and graft. This
changes the hashes in evolve's tests. This patch fixes the test
test-sharing.t
Laurent Charignon <lcharignon@fb.com> [Fri, 04 Dec 2015 14:01:36 -0800] rev 1543
evolve: fix test-tutorial.t to match new extra computation in core
Recent patches changed the way we compute extras for rebase and graft. This
changes the hashes in evolve's tests. This patch fixes the test
test-tutorial.t
Laurent Charignon <lcharignon@fb.com> [Mon, 30 Nov 2015 16:48:40 -0800] rev 1542
inhibit: make rebase see obsolescence even for visible nodes
Rebase changed recently to take advantage of obsolescence markers to reduce
the number of conflicts to resolve. Inhibit users were unable to leverage this
new feature because none of their visible nodes could be obsolete. This patch
makes the nodes that would be obsolete without inhibit, actually obsolete for
the duration of the rebase to take advantage of the feature mentioned before.
Laurent Charignon <lcharignon@fb.com> [Tue, 24 Nov 2015 17:16:27 -0800] rev 1541
inhibit: remove unused bookmark operation wrapping
Before this patch, inhibit was wrapping bookmarks.write and
bookmarks.recordchange. Since all the usage of bookmarks.write are not replaced
by bookmarks.recordchange all bookmarks operation happen in a transaction.
Inhibit already wraps the transaction mechanism to make sure that no revision
can end up being obsolete and visible. This makes the wrapping of
bookmarks.write superfluous.
Wrapping bookmarks.recordchange was wrong in the first place and redundant with
wrapping transactions.
Laurent Charignon <lcharignon@fb.com> [Tue, 01 Dec 2015 10:25:38 -0800] rev 1540
inhibit: update test with new behavior from core
The recent changes in core (to make sure that all bookmarks write are done at
the end of a transaction) changed the behavior of inhibit. When one rebases
a set of hidden revs somewhere, the hidden revs become visible at the end of
the rebase. Both the previous behavior and new behavior seems acceptable but
the tests have to be changed subsequently. This patch modifies one of the test
for inhibit when the case mentioned above happens. We prune the revs inhibited
by the rebase to make the change minimal.
Laurent Charignon <lcharignon@fb.com> [Thu, 19 Nov 2015 10:47:32 -0800] rev 1539
inhibit: remove unused import
The error module from mercurial was imported but unused in the inhibit code.
Laurent Charignon <lcharignon@fb.com> [Fri, 20 Nov 2015 10:30:42 -0800] rev 1538
inhibit: improve handling of error cases for bookmark -D
Before this patch bookmark -D was crashing in some cases like:
hg book -Dmaster-fix. This was because -m is a valid option for hg bookmark.
This patch disallows using -m with -D (moving and pruning does not make much
sense) and throws an error instead of crashing if the command is malformed.
Laurent Charignon <lcharignon@fb.com> [Wed, 18 Nov 2015 13:47:26 -0800] rev 1537
directaccess: fix case of shortened hash containing only digits
For directaccess, there are four cases for what looks like short hashes made
of digits only:
1 | the hash is a revision number and not a short hash for another revision:
we don't change the visibility
2 | the hash is a revision number and a short hash for another revision:
we don't change the visibility
3 | the hash is not a revision number and not a short hash for another revision:
we don't change the visibility
4 | the hash is not a revision number but is a short hash for another revision:
we make it visible
Before the patch we were not lifting visibility in case number 4. This patch
fixes the issue.
Laurent Charignon <lcharignon@fb.com> [Tue, 17 Nov 2015 17:06:07 -0800] rev 1536
evolve: evolve --divergent failed when merge had nothing to do (issue4950)
Before this patch, if the divergence resolution lead to an empty commit, the
transaction would be rolled back and the divergence not resolved.
This patch allows empty commits in that case. It is legitimate to end up with
an empty commit in that case, for example when divergent commits differ over
their commit messages.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 17 Nov 2015 20:25:15 -0800] rev 1535
inhibit: use dirty revset trick to speedup the inhibit search space.
See documentation for details. I'm a bit sad about this changesets.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 17 Nov 2015 20:19:32 -0800] rev 1534
inhibit: use 'repo.revs' instead of 'repo.set'
This skip the creation of a changectx object.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 17 Nov 2015 22:43:17 -0800] rev 1533
_inhibitmarkers: turn the result from generator into a list
A generator object is always True, we have to turn it into a list in order to be
able to use it in the tests. Before this patch we were rewriting the
'obsinhibit' file all the time, this had a performance impact especially on
repository where transaction are expensive (hooks, cache invalidation, etc).
Writing this file less often have a minor effect on test where a stripped
changeset does not get removed from the obsinhibit file is still inhibited when
unbundled back. I think this is fine and I'm moving forward.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:37:38 -0500] rev 1532
split: drop the experimental flag
I've been using it without issue for some time. The only blocker in my mind was
the lack of commit message preservation and this is now fixed.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:34:24 -0500] rev 1531
split: preserve original changesets description
Losing the description on split is to much an issue, we offer the original
description to edition for every part of the split.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:15:15 -0500] rev 1530
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 21:14:35 -0500] rev 1529
readme: updateing changelog
We forgot a couple of recent improvement.
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 15:04:45 -0500] rev 1528
evolve: rewrite command help (evolve command only)
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Nov 2015 18:37:16 -0500] rev 1527
parents: avoid locking the repository during 'hg parents'
The wrapping code was initially written for update and pull who need the lock
anyway. We duplicated the logic in the parent case to remove the need for
locking.
Greg Ward <greg@gerg.ca> [Fri, 06 Nov 2015 18:02:05 -0500] rev 1526
README: update instructions for running tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:08:32 +0000] rev 1525
tests: remove the custom run-tests.py
This test-runners is a copy from the Mercurial one and slowly drift out of sync.
Use the Mercurial's core test runners instead.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:07:34 +0000] rev 1524
make: clean test related target
We removed the runner, so they are broken. We can reintroduce them later with
proper data to fetch an official 'run-tests.py' runner.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:05:28 +0000] rev 1523
test: use 'dummyssh' from the run-tests directory
This is a step toward not shipping our own test runners and relying on the
official Mercurial one.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 11:04:44 +0000] rev 1522
test: use 'killdaemons.py' from the run-tests directory
This is a step toward not shipping our own test runners and relying on the
official Mercurial one.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:40 +0000] rev 1521
merge back with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:23 +0000] rev 1520
Added tag 5.2.1 for changeset c15d6168412f
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:39:06 +0000] rev 1519
prepare version 5.1.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:38:18 +0000] rev 1518
merge with default
there is some 3.6 related fix and test change that we need on default. No other
significant change happened since last release expect for split, still marked
experimental. So we prepare for a bugfix release.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 02 Nov 2015 00:32:44 +0000] rev 1517
split: mark the command as experimental
It has a bit too many rough edge for now.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Oct 2015 15:48:13 +0000] rev 1516
tests: run test with 3.6 and apply test change
Tested with 3.4, 3.5 and 3.6. Some minor test update had to be done.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Oct 2015 16:04:37 +0000] rev 1515
prune: have dirstate collaborate with transaction
With 3.6, dirstate update can work with transaction to ensure proper rollback.
We do it if the mercurial version permit it.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Oct 2015 16:04:19 +0000] rev 1514
evolve: have dirstate collaborate with transaction
With 3.6, dirstate update can work with transaction to ensure proper rollback.
We do it if the mercurial version permit it.
Ryan McElroy <rmcelroy@fb.com> [Fri, 09 Oct 2015 16:21:30 -0700] rev 1513
prune: reuse revset from repair instead of copy-pasting code
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 12 Oct 2015 01:23:59 -0700] rev 1512
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 12 Oct 2015 01:22:41 -0700] rev 1511
evolve: compatibility with coming 3.6
Some function in the import stack changed, we have to adapt.
Augie Fackler <raf@durin42.com> [Tue, 29 Sep 2015 15:40:28 -0400] rev 1510
evolve: be more complete about copying extra from old revisions
For 'hg evolve' we want to copy all extra-level metadata except for
branch. This keeps the experimental topics extension from getting
obliterated by evolve runs.
Many hashes in tests changed due to some extra data coming along for
the ride in various places, but no functionality that was tested. It's
plausible that this copies too much metadata - maybe we should be
dropping rebase_src or convert_revision as well. Right now no tools do
that, so I'm biasing towards preserving everything except branch when
copying metadata for now.
Yuya Nishihara <yuya@tcha.org> [Wed, 30 Sep 2015 23:33:00 +0900] rev 1509
evolve: ignore ui argument passed to help loader
The API changed at Mercurial e0c572d4d112.
Durham Goode <durham@fb.com> [Tue, 29 Sep 2015 09:47:10 -0700] rev 1508
directaccess: inspect trees of len() > 3
Previously, when inspecting revset AST's we'd only traverse down the tree if it
was length 3 ([op, left, right]). In some situations, like 'or' the tree node
will be greater than length 3 ([op, first, second, ..., nth]). So we need to
traverse all the parts of the node to catch all the symbols.
Yuya Nishihara <yuya@tcha.org> [Mon, 21 Sep 2015 22:30:44 +0900] rev 1507
debugobsconvert: make sure obsstore is loaded before version comparison
hg 44918682093f delays loading obsstore, so we have to access _all to get
the correct store version.
Laurent Charignon <lcharignon@fb.com> [Wed, 16 Sep 2015 16:50:06 -0700] rev 1506
evolve: use repo._bookmarks.recordchange instead of repo._bookmarks.write
We want to get rid of the api repo._bookmarks.write and this
patch removes its use in evolve.py.
Before this patch, we were using repo._bookmarks.write to save bookmarks change
immediately instead of repo._bookmarks.recordchange that write change when
transaction ends.
Laurent Charignon <lcharignon@fb.com> [Wed, 16 Sep 2015 17:12:38 -0700] rev 1505
evolve: indentation change for making next patch more legible
In the next patch: "evolve: use repo._bookmarks.recordchange instead of
repo._bookmarks.write" we need to add a transaction in the rewrite function.
To do so adds an indentation level and makes the patch harder to review.
This patch makes the indentation change so that the next patch is easier to
review.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:52:34 -0700] rev 1504
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:48:34 -0700] rev 1503
next/prev: properly lock repo before touching bookmarks
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:48:34 -0700] rev 1502
next/prev: properly lock repo before touching bookmarks
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Sep 2015 13:23:43 -0700] rev 1501
prune: ensure we prune bookmarks in a transaction
timeless@mozdev.org [Thu, 10 Sep 2015 16:24:50 -0400] rev 1500
next: add support for --dry-run
also adds support to prev
timeless@mozdev.org [Wed, 09 Sep 2015 22:25:37 -0400] rev 1499
evolve: spelling uncommitted
timeless@mozdev.org [Wed, 09 Sep 2015 22:23:48 -0400] rev 1498
evolve: annotate translatable strings with _()
timeless@mozdev.org [Wed, 09 Sep 2015 22:22:01 -0400] rev 1497
evolve: do not capitalize description of next/previous
timeless@mozdev.org [Wed, 09 Sep 2015 22:13:11 -0400] rev 1496
evolve: _() should not contain %
timeless@mozdev.org [Wed, 09 Sep 2015 19:43:24 -0400] rev 1495
evolve: add progress for _obsrelsethashtree
timeless@mozdev.org [Wed, 09 Sep 2015 19:43:14 -0400] rev 1494
evolve: add progress for the obsmarkers discovery parts
timeless@mozdev.org [Wed, 09 Sep 2015 19:40:54 -0400] rev 1493
test-obsolete: clarify divergence detection output order
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 17 Aug 2015 17:01:38 -0700] rev 1492
directaccesss: also look for symbol into list
revrange is now much smarted and optimise multiple simple symbol (like hash)
into an efficient '_list' call. So we need to look into these to find user
provided input too.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Aug 2015 20:38:39 -0700] rev 1491
merge with stable
Durham Goode <durham@fb.com> [Wed, 12 Aug 2015 10:51:20 -0700] rev 1490
inhibit: fix inhibit working with non-inhibit repos
Inhibit was breaking when two repos were in memory, but one was not an inhibit
repo (like when doing a local pull between two repos). The fix is to add
inhibitenabled checks to all the places where inhibit does global wrapping of
commands (every code path from the extsetup wrappers).
Siddharth Agarwal <sid0@fb.com> [Wed, 12 Aug 2015 16:08:05 -0700] rev 1489
directaccess: don't try to partialmatch things that aren't hashes
Trying to partialmatch identifiers like '.' turns out to be (a) pointless and
(b) extremely slow. On a repo with a million commits, with directaccess
enabled,
hg log -r .^::.
goes from 2.1 seconds to 0.5.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Aug 2015 00:44:53 -0700] rev 1488
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Aug 2015 00:41:18 -0700] rev 1487
next: properly report no children when --evolve is used
If no aspiring children exist, 'hg next --evolve' should properly issue an error
message instead of crashing.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 10 Aug 2015 00:24:15 -0700] rev 1486
inhibit: do not search for visible obsolete changeset during stripping
Stripping use transaction in an unorthodox way. We should not run the inhibit
postclose hooks as it can lead to crash.
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:42:57 -0700] rev 1485
split: handle bookmarks instead of leaving them on precursor
Before this patch we were leaving the bookmarks on the precursor of the split
instead of moving them on the tip of the split chain. We add a test to verify
the behavior.
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:45:36 -0700] rev 1484
split: don't update before it is actually needed
Before this patch, we were updating the working copy parent needlessly and
before the error checking. This patch fixes the issue.
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:16:55 -0700] rev 1483
split: add more output to the test
Before this patch, we were not displaying the final graph resulting from the
tests but just the obsolscencence markers. This patch adds more output to the
test to make it more descriptive.
Laurent Charignon <lcharignon@fb.com> [Sat, 08 Aug 2015 12:12:16 -0700] rev 1482
split: fix commit message numbering error in the test
Before this patch, the test was wrong and the successors of a splitted commits
all had the same commit messages. This patch makes the test right making sure
that the numbering of the split successors is accurate.
Laurent Charignon <lcharignon@fb.com> [Wed, 24 Jun 2015 16:27:36 -0700] rev 1481
evolve: handle split commit for instability
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 07 Aug 2015 13:59:19 -0700] rev 1480
merge with stable
Laurent Charignon <lcharignon@fb.com> [Fri, 07 Aug 2015 11:39:51 -0700] rev 1479
evolve: add test for instability
Laurent Charignon <lcharignon@fb.com> [Thu, 18 Jun 2015 16:48:53 -0700] rev 1478
evolve: add a command to split commits
Before this patch, to split commit one had to use prune. This patch adds a
new command called split that prompts the user interactively to split a given
changeset with record/crecord.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Aug 2015 11:29:27 -0700] rev 1477
merge with stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 01 Aug 2015 22:16:26 -0400] rev 1476
test-inhibit: simplify push destinations for Windows
This was aborting because $pwd is expanding to 'C:/path/to/tests':
- pushing to file://$TESTTMP/inhibit2
- abort: hidden revision '003a4735afde'!
- (use --hidden to access hidden revisions)
+ abort: file:// URLs can only refer to localhost
Matt Harbison <matt_harbison@yahoo.com> [Sat, 01 Aug 2015 21:54:00 -0400] rev 1475
test-sharing: fix globs for Windows
Laurent Charignon <lcharignon@fb.com> [Wed, 29 Jul 2015 09:55:50 -0700] rev 1474
inhibit: don't abort when directaccess is not enabled
When directaccess is not enabled, we should just print a warning and not set up
inhibit. We don't need to abort in that case. Example: if the user is running
hg showconfig, we don't want to crash as the command is unrelated to inhibit.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Jul 2015 22:58:13 +0100] rev 1473
merge with stable
Laurent Charignon <lcharignon@fb.com> [Thu, 09 Jul 2015 12:42:07 -0700] rev 1472
inhibit: add missing locking in wrapper for obsmarker creation
The develwarning for transaction without lock rightfully pointed out to this
issue. Before this patch we were not locking in the transaction for obsmarker
creation and therefore showing the warnings.
Laurent Charignon <lcharignon@fb.com> [Thu, 25 Jun 2015 13:33:50 -0700] rev 1471
evolve: (issue4386) cleanup, split, fold and bijection in `hg prune`
Before this patch, the prune command was splitting and folding implicitely
based on the number of successors and precursors. This patch makes the
two behavior explicit by requesting a flag to perform a split or a fold.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 30 Jun 2015 18:32:12 -0700] rev 1470
merge with stable
André Sintzoff <andre.sintzoff@gmail.com> [Fri, 26 Jun 2015 22:26:48 +0200] rev 1469
evolve: fix typo in fold docstring
André Sintzoff <andre.sintzoff@gmail.com> [Fri, 26 Jun 2015 22:25:57 +0200] rev 1468
evolve: remove trailing spaces
Laurent Charignon <lcharignon@fb.com> [Wed, 24 Jun 2015 16:54:23 -0700] rev 1467
evolve: dedupe divergents when running evolve --all --any or evolve --rev
Before this patch, when running evolve --all --any or evolve --rev with the
--divergent flag, we were selecting all of the divergents. After solving the
first one, its counterparts would get pruned and potentially hidden which would
crash when trying to resolve them. This patch introduces logic to dedupe the
divergents to be resolved by keeping only one per group of divergent with the
lower revision number.
Laurent Charignon <lcharignon@fb.com> [Wed, 24 Jun 2015 16:38:24 -0700] rev 1466
evolve: remove unused warning message in _solvedivergent
Before this patch, we were checking for a case where a divergent changeset could
be public and printing a warning in that case. When we compute the divergent set
in the obsolete module we explicitely look for not public() changesets.
This patch removes this unused warning.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 29 Jun 2015 02:30:27 -0700] rev 1465
compat: use svfs instead of sopener
The "new" attribute is about 2 years old so let's move on.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:59:22 -0700] rev 1464
fold: avoid using x:y in the help
Suggesting "x:y" is a bad idea because x:y is a very deceptive revset.
Laurent Charignon <lcharignon@fb.com> [Thu, 25 Jun 2015 09:53:53 -0700] rev 1463
evolve: improve the help of the fold command
The help of the fold command needed a little rework. This patch makes it a
little less verbose and adds an example. It also highlights a little more the
importance of the --exact flag.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:07:13 -0700] rev 1462
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:05:37 -0700] rev 1461
Added tag 5.2.0 for changeset 44a9dcb3fefc
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:05:25 -0700] rev 1460
merge with 3.3
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:04:38 -0700] rev 1459
fix version number
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 00:04:22 -0700] rev 1458
fix debian changelog
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:46:24 -0700] rev 1457
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:45:25 -0700] rev 1456
Added tag 5.2.0 for changeset 00026533ff9f
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:43:10 -0700] rev 1455
merge with preparation for version 5.2.0
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:42:07 -0700] rev 1454
prepare version 5.2
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 25 Jun 2015 17:38:40 -0700] rev 1453
merge with stable
(restore test for Mercurial default branch
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
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.
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)
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.
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.
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
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.
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.
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
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:39 -0700] rev 1439
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:50:06 -0700] rev 1438
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:53 -0700] rev 1437
merge with inactive compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Jun 2015 16:49:24 -0700] rev 1436
close inactive compatibility branch
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 12:39:15 -0700] rev 1401
merge with some old heads
Pierre-Yves David <pyd@fb.com> [Mon, 16 Jun 2014 14:31:49 -0700] rev 1400
merge with some older backport
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".
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.
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 10:47:02 -0700] rev 1396
merge with 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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:17:34 -0700] rev 1394
merge with branch closing commit
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 19 Jun 2015 00:16:56 -0700] rev 1393
close 3.1 compat branch
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 23:45:37 -0700] rev 1391
merge with 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.
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
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 18 Jun 2015 17:57:11 -0700] rev 1388
merge with 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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.
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.
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)
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.
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