Wed, 01 Apr 2015 13:51:21 -0700 inhibit: don't leave any obsolete commit visible after closing transaction
Laurent Charignon <lcharignon@fb.com> [Wed, 01 Apr 2015 13:51:21 -0700] rev 1240
inhibit: don't leave any obsolete commit visible after closing transaction We add a callback to wrap the transaction closure to identify commits that are obsolete and visible. We inhibit them to prevent the user to see instability in the UI.
Thu, 02 Apr 2015 18:33:44 -0700 evolve: apply prune update before creating obsolescence markers
Laurent Charignon <lcharignon@fb.com> [Thu, 02 Apr 2015 18:33:44 -0700] rev 1239
evolve: apply prune update before creating obsolescence markers Prune used to compute the destination commit to update to after creating the obsolescence markers. This is a commit to prevent a bug that would occur with the changes in inhibit for transactions (next commit). Indeed, with that change in inhibit, when creating the obsolescence markers in prune, they would get inhibited right away and we wouldn't update to the first non obsolete parent but stay on the same node as its obsolescence would have been inhibited (bug).
Fri, 03 Apr 2015 11:35:46 -0700 test-inhibit: check graph after prune
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 03 Apr 2015 11:35:46 -0700] rev 1238
test-inhibit: check graph after prune We want to ensure prune keep working even with inhibit.
Fri, 03 Apr 2015 11:34:02 -0700 test-inhibit: drop trailing white space
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 03 Apr 2015 11:34:02 -0700] rev 1237
test-inhibit: drop trailing white space
Thu, 02 Apr 2015 15:44:11 -0700 tests: make tests work on Mac OS
Laurent Charignon <lcharignon@fb.com> [Thu, 02 Apr 2015 15:44:11 -0700] rev 1236
tests: make tests work on Mac OS wc -m adds spacing before the results, we trim them to make the test pass on Mac OS.
Wed, 01 Apr 2015 16:47:22 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 16:47:22 -0700] rev 1235
merge with stable
Mon, 30 Mar 2015 13:31:09 -0700 inhibit: ensure that no obsolete changesets are visible after a bookmark change
Laurent Charignon <lcharignon@fb.com> [Mon, 30 Mar 2015 13:31:09 -0700] rev 1234
inhibit: ensure that no obsolete changesets are visible after a bookmark change When creating a bookmark, we could reveal obsolete changesets. We are inhibiting the obsolete changesets resulting from a bookmark change. There are two ways to record bookmark changes to disk and we wrap both.
Mon, 30 Mar 2015 11:45:17 -0700 inhibit: ensure no visible changesets are obsolete after an update
Laurent Charignon <lcharignon@fb.com> [Mon, 30 Mar 2015 11:45:17 -0700] rev 1233
inhibit: ensure no visible changesets are obsolete after an update When updating to a commit we want to inhibit any obsolete commit affecting the changeset we are updating to. In other words we don't want any visible commit to be obsolete.
Fri, 27 Mar 2015 10:58:04 -0700 inhibit: enable direct access from parsing the revset tree
Laurent Charignon <lcharignon@fb.com> [Fri, 27 Mar 2015 10:58:04 -0700] rev 1232
inhibit: enable direct access from parsing the revset tree To enable direct access we: - detect explicit hexadical reference to node in the revset tree - add these hashes to the static blockers to make them and their parent visible for the command to run
Wed, 01 Apr 2015 14:44:12 -0700 Added tag 5.1.2 for changeset e886bc501796 stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:44:12 -0700] rev 1231
Added tag 5.1.2 for changeset e886bc501796
Wed, 01 Apr 2015 14:40:40 -0700 preparing version 5.1.2 stable 5.1.2
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:40:40 -0700] rev 1230
preparing version 5.1.2
Wed, 01 Apr 2015 14:43:13 -0700 update 5.1.2 with latest bugfix stable
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:43:13 -0700] rev 1229
update 5.1.2 with latest bugfix
Wed, 01 Apr 2015 14:37:02 -0700 evolve: have a stable manifest content when solving bumped stable
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.
Wed, 01 Apr 2015 14:26:10 -0700 evolve: change config option name
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...
Wed, 15 Oct 2014 15:41:26 -0700 config: allow disabling commands
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.
Sat, 07 Mar 2015 02:32:43 -0800 inhibit: Add some inhibition clearing mechanism
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.
Fri, 06 Mar 2015 21:25:44 -0800 add a 'inhibit' extension
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.
Sat, 21 Mar 2015 19:09:56 -0400 tests: use 'wget' instead of 'curl' for Windows compatibility
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.
Sat, 21 Mar 2015 18:42:51 -0400 tests: import killdaemons.py from Mercurial 1cfded2fa1a9
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.
Fri, 20 Mar 2015 12:51:57 -0700 prune: add --keep to not touch the working copy
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.
Thu, 19 Mar 2015 12:31:51 -0700 strip: add the option for wrapping the strip command
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.
Thu, 19 Mar 2015 12:32:32 -0700 wrapcommand: fix wrapping extensions that aren't enabled
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.
Thu, 19 Mar 2015 10:52:28 -0700 wrapcommand: allow adding additional arguments to commands
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.
Thu, 19 Mar 2015 17:42:21 -0700 pushexperiment: remove use of obsolete._enabled
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.
Thu, 19 Mar 2015 13:42:27 -0700 oldobsolete: remove use of obsolete._enabled
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.
Thu, 19 Mar 2015 13:41:58 -0700 server4simple: remove use of obsolete._enabled
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.
Tue, 17 Mar 2015 19:04:16 -0700 config: remove uses of obsolete._enabled
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.
Tue, 17 Mar 2015 19:03:27 -0700 config: enable all obsolete options
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.
Fri, 13 Mar 2015 10:49:02 -0700 merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 13 Mar 2015 10:49:02 -0700] rev 1212
merge with stable
Fri, 13 Mar 2015 09:05:34 -0700 evolve: fix manifest usage to match upstream 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.
Fri, 13 Mar 2015 09:04:12 -0700 drophack: fix to match upstream repair.strip stable
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.
Thu, 05 Mar 2015 20:02:07 -0500 evolve: prevent a crash in httpclient_pushobsmarkers() when pushing stable
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
Thu, 05 Mar 2015 10:52:01 -0800 merge stable into default
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:52:01 -0800] rev 1208
merge stable into default
Thu, 05 Mar 2015 10:45:53 -0800 Added tag 5.1.1 for changeset 9b8628e0a142 stable
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
Thu, 05 Mar 2015 10:45:40 -0800 prepare release 5.1.1 stable 5.1.1
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:45:40 -0800] rev 1206
prepare release 5.1.1
Thu, 05 Mar 2015 10:44:43 -0800 update readme stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 05 Mar 2015 10:44:43 -0800] rev 1205
update readme
Thu, 29 Jan 2015 22:53:43 +0900 evolve: use 3.2+ fullreposet to evaluate argument set (issue4515) stable
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.
Mon, 02 Mar 2015 20:12:00 +0100 evolve: cache marker encoding to avoid performance degradation stable
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%.
Fri, 06 Feb 2015 17:01:28 +0000 evolve: handle invalid obsmarkers in the `debugobsconvert` stable
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.
Fri, 06 Feb 2015 16:58:42 +0000 fix release date in the readme stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 06 Feb 2015 16:58:42 +0000] rev 1201
fix release date in the readme
Fri, 30 Jan 2015 22:05:40 +0000 merge stable in default
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 Jan 2015 22:05:40 +0000] rev 1200
merge stable in default
Fri, 30 Jan 2015 22:05:07 +0000 Added tag 5.1.0 for changeset bfe9be352453 stable
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
Fri, 30 Jan 2015 22:02:31 +0000 update readme and bump version to 5.1 stable 5.1.0
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
Fri, 30 Jan 2015 21:57:41 +0000 merge default into table stable
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.
Fri, 30 Jan 2015 20:29:33 +0000 discovery: filter null from the discovery revset
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.
Fri, 30 Jan 2015 19:01:23 +0000 tests: update to new core output
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.
Tue, 27 Jan 2015 16:07:57 +0000 evolve: explicitly disable bookmark on evolve (issue4432) stable
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.
Wed, 07 Jan 2015 15:24:47 -0800 discovery: do not build sample if undecided is smaller than sample size
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.
(0) -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 tip