Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:37:02 -0700] rev 1228
evolve: have a stable manifest content when solving bumped
We cannot really use iteritems here.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:26:10 -0700] rev 1227
evolve: change config option name
I forgot to amend...
Durham Goode <durham@fb.com> [Wed, 15 Oct 2014 15:41:26 -0700] rev 1226
config: allow disabling commands
Now that upstream Mercurial has multiple options for obsolete configuration, we
can allow enabling and disabling of evolve commands.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 07 Mar 2015 02:32:43 -0800] rev 1225
inhibit: Add some inhibition clearing mechanism
We do not want to keep inhibition marker around for ever. So we are removing the
one applying on public changeset.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Mar 2015 21:25:44 -0800] rev 1224
add a 'inhibit' extension
This extension will be used to reduce the scope of evolve in order to make some
of its features available to the mass earlier.
See extension documentation for details.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Mar 2015 19:09:56 -0400] rev 1223
tests: use 'wget' instead of 'curl' for Windows compatibility
The whole test suite now runs without skips, and the only two failures are a
bookmark cache issue in test-prune.t, and a local output vs remote output
reordering when pushing to ssh. The latter anyway is a core problem.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Mar 2015 18:42:51 -0400] rev 1222
tests: import killdaemons.py from Mercurial 1cfded2fa1a9
This contains updated functionality to kill the server process on Windows, which
is needed to run the test-*server.t tests. This version requires the pids to be
passed as an argument instead of via $DAEMON_PIDS.
Durham Goode <durham@fb.com> [Fri, 20 Mar 2015 12:51:57 -0700] rev 1221
prune: add --keep to not touch the working copy
In order to more closely emulate strip, lets add --keep to leave the working
copy untouched when we do our prune.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 12:31:51 -0700] rev 1220
strip: add the option for wrapping the strip command
Adds an experimental option for wrapping the existing strip command and
replacing its functionality with prune. It currently doesn't handle the --keep
case, but an upcoming patch will address that.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 12:32:32 -0700] rev 1219
wrapcommand: fix wrapping extensions that aren't enabled
The extension command wrapping would previously fail if the extension wasn't
enabled. Let's just eat that silently.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 10:52:28 -0700] rev 1218
wrapcommand: allow adding additional arguments to commands
This allows eh.wrapcommand to specify additional parameters to be added to the
commands being wrapped. This will be useful when wrapping strip in the future.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 17:42:21 -0700] rev 1217
pushexperiment: remove use of obsolete._enabled
pushexperiment.py was using obsolete._enabled but it didn't cause any tests to
fail so I didn't see it. Let's go ahead and replace it with the new
obsolete.isenabled() api.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 13:42:27 -0700] rev 1216
oldobsolete: remove use of obsolete._enabled
obsolete._enabled is deprecated. Switch to the newer obsolete.isenabled() logic.
Durham Goode <durham@fb.com> [Thu, 19 Mar 2015 13:41:58 -0700] rev 1215
server4simple: remove use of obsolete._enabled
obsolete._enabled is deprecated, so let's replace it's uses.
Durham Goode <durham@fb.com> [Tue, 17 Mar 2015 19:04:16 -0700] rev 1214
config: remove uses of obsolete._enabled
Upstream Mercurial will be removing obsolete._enabled soon, so switch all our
uses of it to use the new obsolete.isenabled(repo, option) function.
Durham Goode <durham@fb.com> [Tue, 17 Mar 2015 19:03:27 -0700] rev 1213
config: enable all obsolete options
Upstream Mercurial has moved away from obsolete._enabled as the obsolete flag to
a series of options. This patch makes evolve enable all the options
automatically if the user hasn't enabled any already. This preserves the
existing evolve experience of not having to configure anything.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 13 Mar 2015 10:49:02 -0700] rev 1212
merge with stable
Durham Goode <durham@fb.com> [Fri, 13 Mar 2015 09:05:34 -0700] rev 1211
evolve: fix manifest usage to match upstream
The manifest class upstream is no longer a dictionary, so switch to using an API
it does support.
Durham Goode <durham@fb.com> [Fri, 13 Mar 2015 09:04:12 -0700] rev 1210
drophack: fix to match upstream repair.strip
repair.strip upstream now assumes the input nodelist is a list, so update to
match it. The upstream change only affects the name of the backup bundle, so
this shouldn't affect any other functionality.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 05 Mar 2015 20:02:07 -0500] rev 1209
evolve: prevent a crash in httpclient_pushobsmarkers() when pushing
I've been running into a crash when pushing from my hg repo in a Fedora 16 VM to
Win7 running 'hg serve', even with extensions disabled on both sides:
../hg push -r . pc
pushing to http://192.168.1.4:8000/
searching for changes
no changes found
pushing 2 obsolescence markers (263 bytes)
** unknown exception encountered, please report by visiting
...
File "hg-evolve/hgext/evolve.py", line 2482, in _pushobsolete
remote.evoext_pushobsmarkers_0(obsdata)
File "hg-evolve/hgext/evolve.py", line 2522, in httpclient_pushobsmarkers
ret, output = self._call('evoext_pushobsmarkers_0', data=obsfile)
ValueError: too many values to unpack
I'm not sure how this repo differs from the one in the test suite, so I'm not
sure how to craft a test for this. The failure occurs even when there _are_
csets to push. There was no crash if no obsolete markers needed to be pushed.
At any rate, this code was stolen from httppeer._callpush(), where it calls
self._call(). The socket exception handling wasn't necessary to fix the crash,
but the calling code might as well be duplicated in its entirety.
A successful push with this patch looks like this. Note the final line is _not_
in the output of the http push in test-simple4server.t:
../hg push -r . pc
pushing to http://192.168.1.4:8000/
searching for changes
remote has heads on branch 'default' that are not known locally: 3af110194a0c
56000e3ae44d 57ac6e51d290 7da4355c21b8 and 8 others
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 0 changes to 1 files (+1 heads)
pushing 4 obsolescence markers (525 bytes)
remote: 2 obsolescence markers added
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:52:01 -0800] rev 1208
merge stable into default
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:45:53 -0800] rev 1207
Added tag 5.1.1 for changeset 9b8628e0a142
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:45:40 -0800] rev 1206
prepare release 5.1.1
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:44:43 -0800] rev 1205
update readme
Yuya Nishihara <yuya@tcha.org> [Thu, 29 Jan 2015 22:53:43 +0900] rev 1204
evolve: use 3.2+ fullreposet to evaluate argument set (issue4515)
getset() has no compatibility wrapper for old-style argument and we don't
want to add more hacks in Mercurial core.
Mathias De Maré <mathias.demare@gmail.com> [Mon, 02 Mar 2015 20:12:00 +0100] rev 1203
evolve: cache marker encoding to avoid performance degradation
The main overhead in bug 4518 is caused by calculating relevant markers
and encoding markers into the correct format.
Calculating relevant markers takes (worst case) ~ 0.12 seconds.
Encoding markers takes (worst case) ~ 0.06 seconds.
Caching encoded markers takes care of the second part and
speeds up cloning in bug 4518 by about 35%.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Feb 2015 17:01:28 +0000] rev 1202
evolve: handle invalid obsmarkers in the `debugobsconvert`
User can now recover from such situation, The error message is also changed to
point the `debugobsconvert` commands.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Feb 2015 16:58:42 +0000] rev 1201
fix release date in the readme
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 22:05:40 +0000] rev 1200
merge stable in default
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 22:05:07 +0000] rev 1199
Added tag 5.1.0 for changeset bfe9be352453
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 22:02:31 +0000] rev 1198
update readme and bump version to 5.1
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 21:57:41 +0000] rev 1197
merge default into table
3.3 is about to be released.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 20:29:33 +0000] rev 1196
discovery: filter null from the discovery revset
If there is nothing in common, common will be "null" and the revset will now
returns "-1" crashing the discovery process. We filter out the null revision to
prevent that.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 19:01:23 +0000] rev 1195
tests: update to new core output
Multiple output change need to be applied to the test suite.
Tyrone Nicholas <tnicholas@fb.com> [Tue, 27 Jan 2015 16:07:57 +0000] rev 1194
evolve: explicitly disable bookmark on evolve (issue4432)
We no longer leave the current bookmark active after an evolve, since it
is no longer pointing to the working directory.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 07 Jan 2015 15:24:47 -0800] rev 1193
discovery: do not build sample if undecided is smaller than sample size
This prevents crash with coming change in the mercurial discovery.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 05 Jan 2015 19:04:32 -0800] rev 1192
merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 23 Dec 2014 14:29:16 -0600] rev 1191
init: don't abort Mercurial on version mismatch
Evolve causes Mercurial to exit if there is a version mismatch, even
if no evolve command is invoked. This is a headache for people who
have to work with multiple versions of Mercurial. Instead, raise an
ImportError, which gives a warning but otherwise allows Mercurial to
run non-evolve commands.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:45:04 -0800] rev 1190
Added tag 5.0.2 for changeset dbd0733e5840
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:44:40 -0800] rev 1189
prepare release 5.0.2
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:19:40 -0800] rev 1188
test: adapt to core change in graft and rebase
The ouput changed we have to adapt
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 12:14:45 -0800] rev 1187
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 14 Dec 2014 11:45:27 -0800] rev 1186
doc: drop rebase extension activation
The dependency have been dropped.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 13 Dec 2014 18:19:12 -0800] rev 1185
evolve: remove the dependency to the rebase extension
We do not use any rebase internal anymore.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 13 Dec 2014 18:09:23 -0800] rev 1184
evolve: remove the use of `rebase.concludenode`
Half of this function is now done in `merge.graft` and the over part is easy to
redo manually. So we remove the usage of this function to remove the dependency
of evolve on the rebase extension.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 13 Dec 2014 17:47:09 -0800] rev 1183
evolve: use `merge.graft` instead of `rebasenode`
The core mechanism is properly factorised and have a more stable API.
This is also a good step toward removing the dependency between evolve and the
rebase extension.
This also avoid a breakage with the future 3.3 where some of the rebase API
changed.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 08 Dec 2014 12:45:32 -0800] rev 1182
readme: add a reference to the bugtracker in the contribute section
Idea from Patrick Mezard
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 30 Nov 2014 00:11:06 -0800] rev 1181
merge with stable
Faheem Mitha <faheem@faheem.info> [Fri, 28 Nov 2014 21:32:35 +0530] rev 1180
debian: update changelog to 5.0.1
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 30 Nov 2014 00:06:31 -0800] rev 1179
test: adapt test to stable output
Stable branch should pass test with mercurial stable branch.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 11:02:09 -0800] rev 1178
Added tag 5.0.1 for changeset 0f3090785283
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 11:01:29 -0800] rev 1177
evolve: update in file version
(I'll eventually -not- forget to do so)
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 10:52:33 -0800] rev 1176
Added tag 5.0.1 for changeset 51e1e962172c
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 10:49:39 -0800] rev 1175
readme: prepare for release 5.0.1
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Nov 2014 10:48:59 -0800] rev 1174
readme: update changelog
Martin von Zweigbergk <martinvonz@google.com> [Thu, 20 Nov 2014 16:12:04 -0800] rev 1173
evolve: tell user which "base of divergent changeset" is not found
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:49:52 -0800] rev 1172
debugobsconvert: fix 6f08a8f6bb1d and add proper test
The changeset adding deduplication (6f08a8f6bb1d) was super buggy and dropped
all obsmarkers in the repo. We update the test to check this case and fix the
deduplication.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:34:34 -0800] rev 1171
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:33:59 -0800] rev 1170
debugobsconvert: fix a typo on "version"
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Nov 2014 15:33:14 -0800] rev 1169
debugobsconvert: also deduplicate markers in the process
Various bug allowed identical or semantically identical marker to be added to
the repository. So we also filter duplicates when converting.