Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 00:09:12 -0400] rev 1250
update readme
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 00:06:59 -0400] rev 1249
discovery: stop being stupid about variable name
Overwritten variable are overwritten...
The test coverage makes a simple pass in the loop :(
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:48:23 -0400] rev 1248
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:16:10 -0400] rev 1247
inhibit: explicitly test for None
It is always better to check for None explicitly.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:43:14 -0400] rev 1246
#iforgottoamendagain
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:25:07 -0400] rev 1245
discovery: port the new hashing version to simple4server
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 10 Apr 2015 23:24:36 -0400] rev 1244
discovery: introduce a obshash1 function using fm1 during hashing (issue4587)
The 'fm0' serialisation translate float to text. This give different result
between python2.6 and python2.7 (because python2.7 got smarter). The 'fm1' is
all binary and expected to be stable so we introduce the ability to do the
discovery using hash computed with 'fm1' serialisation.
We use a new wireprotocol version (Partly because I'm too lazy to check how to add an
argument to the existing one) and capabilities).
Support in simple4server is will come in the next changeset.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Mar 2015 19:09:56 -0400] rev 1243
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.
Durham Goode <durham@fb.com> [Mon, 06 Apr 2015 11:21:20 -0700] rev 1242
setup: allow including inhibit in the build
Adds the INCLUDE_INHIBIT environment variable to allow including the inhibit
extension in the build.
Laurent Charignon <lcharignon@fb.com> [Tue, 31 Mar 2015 14:17:46 -0700] rev 1241
inhibit: Add -D option to the bookmark command
The -D option for bookmark is similar to the -B option for strip.
It deletes the bookmark and prunes the changes underneath it that are
not reachable.
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.
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).
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 03 Apr 2015 11:34:02 -0700] rev 1237
test-inhibit: drop trailing white space
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.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 16:47:22 -0700] rev 1235
merge with stable
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.
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.
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
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
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 01 Apr 2015 14:40:40 -0700] rev 1230
preparing version 5.1.2
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
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.
André Sintzoff <andre.sintzoff@gmail.com> [Thu, 20 Nov 2014 22:05:29 +0100] rev 1168
evolve: fix capitalization in docstring for commands
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 17 Nov 2014 16:04:48 +0100] rev 1167
test: ensure we echo prompt
Tool running using the shipped 'run-tests.py' instead of the mercurial one would
get different result otherwise.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 13 Oct 2014 11:09:35 +0200] rev 1166
debian: blacklist simple4server tests
simple4server is not part of the package.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 13 Oct 2014 10:22:24 +0200] rev 1165
debian: blacklist test-drop
drophack.py is not shipped.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Nov 2014 15:49:39 +0100] rev 1164
debian: update control file to reflect dependency to mercurial 3.2
Julien Cristau <julien.cristau@logilab.fr> [Mon, 17 Nov 2014 15:45:24 +0100] rev 1163
evolve: fix the version number
The tag is 5.0.0 the content of the file was wrong.
Mike Edgar <adgar@google.com> [Tue, 18 Nov 2014 20:27:53 -0500] rev 1162
help: fix typo in help for 'obsolete' option added to import command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 14 Nov 2014 09:54:55 +0000] rev 1161
test: add an explicit test for simple4server with bundle2
This makes it more likely to we catch issue with the iteration of these two.
Ryan McElroy <rmcelroy@fb.com> [Wed, 29 Oct 2014 10:34:08 -0700] rev 1160
Make next/prev only move bookmarks optionally
Augie Fackler <raf@durin42.com> [Mon, 20 Oct 2014 22:16:24 -0400] rev 1159
obsup: hack extension to make in-place upgrading of obsolete markers easy
I tried upgrading my obsstore by doing a local clone as suggested by
Pierre-Yves and Sean, but that caused me to end up with a ton of
unstable changes that should have been marked dead. In fact, as far as
I can tell, most of the performance win of that upgrade came from the
fact that only about 46% (46672 of 102285) of my markers were brought
over with the copy-and-pull method.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 15:48:02 +0000] rev 1158
merge stable into default
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 12:38:49 +0000] rev 1157
evolve: fix selection of changeset to evolve from the middle of a stack (issue4434)
The evolve algorithm picked a bad changesets to evolve (unstable changeset with
no obsolete parent (but unstable parent). And then get confused assuming that is
the first parent was not obsolete, the second should be.
This changeset fixed the issue by preventing selection of direct descendant of
[.] when evolving.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 11:28:01 +0000] rev 1156
merge
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 11:26:57 +0000] rev 1155
merge back with compat branch
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Nov 2014 11:26:18 +0000] rev 1154
create a branch compatible with mercurial between 3.0.1 and 3.1.2
Martin von Zweigbergk <martinvonz@google.com> [Wed, 05 Nov 2014 15:35:13 -0800] rev 1153
evolve: fix suggested commands in "parents are not common" hint
The argument to 'hg rebase' is --dest, not -dest. Also, the same
command should not be suggested twice -- the second option should be
the rebasing the other way around.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 05 Nov 2014 15:32:25 -0800] rev 1152
evolve: add missing newlines in "parents are not common" hint
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 11:41:10 +0000] rev 1151
test-touch: add a test for rename preservation after touch
This bug was recently fixed in 3.2.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 11:11:14 +0000] rev 1150
evolve: fix error during iteration over bumped changesets (bug38)
We are iterating over a manifest while altering it. We cannot use iteritems() in
this context. we move to items, that will be an issue for very large changesets.
anatoly techtonik <techtonik@gmail.com> [Mon, 20 Oct 2014 13:54:46 +0300] rev 1149
evolve: add various version info to save time on troubleshooting
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 10:25:20 +0000] rev 1148
readme: drop the mention to the wip repo
The time spend in work in progress repo are fairly low nowaday.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 03 Nov 2014 10:24:35 +0000] rev 1147
readme: update the contribution process
The inability to easily pull from pull request on bitbucket and the lack of
obsolescence support there are too much pain. Patchbombed contribution are
flowing so we drop the bitbucket mention in the README.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 02 Nov 2014 15:06:00 +0000] rev 1146
merge 5.x line into stable (drop pre hg-3.2 compat)
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Sep 2014 21:31:27 -0400] rev 1145
evolve: add the missing newline to output messages where needed
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Sep 2014 21:23:09 -0400] rev 1144
evolve: add the missing argument to a debug statement
Nathan Goldbaum <ngoldbau@ucsc.edu> [Tue, 28 Oct 2014 18:06:28 -0700] rev 1143
uncommit: abort when rev specifies the current changeset
The uncommit command now fails when the rev argument indicates the current
changeset. Previously this aborted in the changeset obsolescence machinery when
the current commit tries to obsolete itself.
Using the rev argument like this indicates a misunderstanding, so printing an
uncommit-specific error should make it easier to understand what went wrong.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 28 Oct 2014 23:18:56 -0400] rev 1142
test-amend: add a test for amend with no configured username (issue4211)
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 01 Nov 2014 13:48:34 +0000] rev 1141
evolve: preserve branch change
evolve will now preserve branch change. If the evolved changeset had a different
phases than its parent, this branch name will be preserved. This allow
propagation of branch change during amend but do not overwrite special branch
name on children,
Matt Harbison <matt_harbison@yahoo.com> [Sat, 25 Oct 2014 22:25:42 -0400] rev 1140
amend: allow the --logfile argument to work properly
Though documented to work, using --logfile previously set the message option to
that of the parent commit, and cause amend to abort with this message:
abort: options --message and --logfile are mutually exclusive
It's not clear why the 'edit' option is popped, but this option is only fetched
in order to let the core commit command do the work.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:05:54 -0700] rev 1139
Added tag 5.0.0 for changeset c13b408c0006
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:03:49 -0700] rev 1138
setup.py: bump version to 5.0.0
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:03:17 -0700] rev 1137
evolve: update tested with statement
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 15:01:37 -0700] rev 1136
README: update for 5.0 release
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 22 Oct 2014 14:58:06 -0700] rev 1135
fixup previous changesets (after forgot to amend).
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Oct 2014 15:59:34 -0700] rev 1134
prune: stop reinjecting all selected revisions back into the revrange
This trigger quadratic complexity for no good reason.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Oct 2014 15:53:00 -0700] rev 1133
test: adapt to new hidden-changeset message
From c1aede895072 we have a nicer error message when accessing public
changesets:
abort: hidden revision '6'!
(use --hidden to access hidden revisions)
Augie Fackler <raf@durin42.com> [Fri, 17 Oct 2014 17:43:52 -0400] rev 1132
pullobsolete: handle migration from todosteps to donesteps
This make evolve compatible with change made in Mercurial (92bf9abc4deb)
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 04:38:37 -0700] rev 1131
evolve: adapt to change in core rebase
Mercurial core changeset 63e889cc610d (And the ones around it) changed the way
graft and rebase work. We adapt to them.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 14:06:52 -0700] rev 1130
test: ignore bytes lenght in message
We should be storying floating point number as floating point number. So the
size of the meta for fm0 format is going to be unstable. We cover them with a
glob.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 04:20:00 -0700] rev 1129
evolve: adapt to the new metadata storage
Metadata are not stored as a "list" of (key, value) tuple instead of a binary
blob.
This adapt to ef880e28e56a in Mercurial.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 16 Oct 2014 11:54:44 -0700] rev 1128
debugobsstorestats: drop the average meta length
Does not have much sense with the existence of multiple format with different
meta storage. We drop it for now and will introduce and average markers length
later.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:27:21 +0530] rev 1127
debian: remove .PHONY line completely
This does not work in the case of implicit pattern matching rules as
used by dh. Consider this example from Geoffrey Thomas:
$ ls -l
total 16
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 blue.c
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 green.c
-rw-r--r-- 1 faheem faheem 35 Aug 16 20:26 Makefile
-rw-r--r-- 1 faheem faheem 17 Aug 16 20:27 red.c
$ cat Makefile
%: %.c
gcc -o $@ $<
.PHONY: blue
$ make red
gcc -o red red.c
$ make green
gcc -o green green.c
$ make blue
make: Nothing to be done for blue'.
The Make manual
(http://www.gnu.org/software/make/manual/make.html#Phony-Targets) says
Since it knows that phony targets do not name actual files that
could be remade from other files, make skips the implicit rule
search for phony targets (see Implicit Rules).
Thanks to the good folks on #debian-mentors on OFTC for instruction
and explanation in these matters.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:14:12 +0530] rev 1126
debian: replace clean with override_dh_auto_clean
The current version does not call the default dh_auto_build, which is
a bug. This is required in particular for cleaning the build
directories.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 04:23:22 +0530] rev 1125
debian: replace build line with a override_dh_auto_build line
This is more in line with how dh is supposed to work. In particular,
dh_auto_build is functionally equivalent to the repeated "dh build
--with python2 --buildsystem=python_distutils" used currently.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:02:05 +0530] rev 1124
debian: remove clean target before implicit match rule
This is redundant because it is a match-everything rule. Possibly a
typo.
Faheem Mitha <faheem@faheem.info> [Sat, 11 Oct 2014 02:36:46 +0530] rev 1123
debian: Add DH_VERBOSE, commented out, for debugging convenience
Matt Harbison <matt_harbison@yahoo.com> [Thu, 02 Oct 2014 21:10:48 -0400] rev 1122
evolve: wrap exchange.push() for compatability with core mercurial 4d52e6eb98ea
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 08 Oct 2014 18:17:21 -0700] rev 1121
drophack: use `first` and `last` on smartset
This matches the new changes in mercurial core.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 08 Oct 2014 18:16:52 -0700] rev 1120
evolve: use `first` and `last` on revset
this match change in mercurial core.
G: changed hgext/evolve.py
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 02 Oct 2014 15:53:54 -0500] rev 1119
test: adapt to core mercurial 9ab18a912c44
This changesets improved the output of prompt during test.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 02 Oct 2014 15:50:07 -0500] rev 1118
evolve: adapt to core changeset 4f14303e8954
pushop.ret is now pushop.cgresult
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 02 Oct 2014 14:16:32 -0500] rev 1117
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 30 Sep 2014 10:27:11 -0500] rev 1116
evolve: update evolve merge message
People are apparently unaware of --succ
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 30 Sep 2014 10:27:54 -0500] rev 1115
import: fix the "is None" check for the Node
We are checking the wrong variable.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Sep 2014 17:27:57 -0700] rev 1114
test: remote "date" from the output of obsmarker meta
Data is no longer a generic meta. it has its own field now.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 22 Sep 2014 17:24:23 -0700] rev 1113
test: adapt to mercurial changes
Changeset 816be4ca4ae2 in core make hg config return non-zero when no value
match the filter.
Siddharth Agarwal <sid0@fb.com> [Wed, 17 Sep 2014 13:38:24 -0700] rev 1112
evolve: wrap setparents calls in begin/endparentchange
Mercurial rev d259322a394b added a requirement to wrap any dirstate.setparents
calls and their associated dirstate changes in begin/endparentchange.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 04 Sep 2014 09:06:18 +0200] rev 1111
merge with stable
A couple of test fix were added on stable.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 12 Aug 2014 21:02:34 -0400] rev 1110
test: add glob annotations where Mercurial's run-tests.py suggests
These happen to also be 5 of the 6 tests that warn about no result code when run
on Windows. Probably not a coincidence.
The tests previously warned about no result code whether or not it was run
interactively. They only started working when test output changes were accepted
in interactive mode, and these globs were added automatically.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 03 Sep 2014 21:25:13 -0400] rev 1109
evolve: really fix the 'grab' alias on Windows
Something seems to have happened when importing cb36a4eb0157- it dropped the $@
argument to --rev, and it picked up a bunch of test changes for the obsolete
sha1 replacement patch. Instead of backing it out and breaking the tests for
the sha1 replacement, this just fixes the missing $@.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 03 Sep 2014 23:56:39 +0200] rev 1108
evolve: keep vague compatibility with 3.1
Matt Mackall work flow requires this to not crash in fire with 3.1. We apply
basic bandage to stop the bleeding.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Sep 2014 20:11:45 +0200] rev 1107
merge: all the stable sweetness into default
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Aug 2014 19:12:16 -0400] rev 1106
evolve: replace each obsolete sha1 in the description with its latest successor
Obsolete csets are hidden by default and don't get pushed to the parent repo.
In order to avoid broken references in commit messages, it makes sense to evolve
those references to the latest and greatest successor, as each cset containing
them is evolved. Of course, stale references can still occur if a commit in
branch 'A' references something in branch 'B', and that something in 'B' is
evolved but 'A' isn't subsequently evolved.
This alleviates the user that is evolving a series of commits from having to
1) recognize that there is a hash that needs updating in any one of the series
2) look up the latest successor manually
3) hg amend -e
The regular expression for matching and the logic for replacing are borrowed
from the convert extension [1].
It might be nice for the output to state the reason that the reference couldn't
be updated (it was pruned, split or diverged), but that may be excessive for
something only displayed in verbose mode. (Maybe it should be a ui.status()
instead?)
[1] http://selenic.com/hg/rev/45562379ce4e
Matt Harbison <matt_harbison@yahoo.com> [Sat, 09 Aug 2014 18:36:28 -0400] rev 1105
test: add parent hash to commit message in test-evolve.t
This (slightly) reduces the changes to the test when hashes in the commit
message are evolved in the next commit.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 12 Aug 2014 19:09:53 -0400] rev 1104
evolve: fix the 'grab' alias to work on Windows
For some reason, the variable wasn't substituted on Windows in this case.
From the test suite:
$ hg grab 8
'' is not recognized as an internal or external command,\r (esc)
operable program or batch file.\r (esc)
This change seems hacky, but there isn't a readily available example of setting
up a shell alias like this from a python module to know if there is a better
way, and it seems like this is maybe just a convenience for tests, since there
is no documentation for the aliases.
The local copy of run-tests.py appears to predate the Windows support in the
Mercurial repository's version, and fails each test with:
The system cannot find the path specified.
However, with this change and blacklisting test-simple4server.t, the tests can
(mostly) be run on Windows like so:
$ ../../hg/tests/run-tests.py --with-hg=../../hg/hg --blacklist windows
Skipped test-simple4server.t: blacklisted
Warned test-obsolete.t: no result code from test
Warned test-tutorial.t: no result code from test
Warned test-evolve.t: no result code from test
Warned test-userguide.t: no result code from test
Warned test-sharing.t: no result code from test
Warned test-drop.t: no result code from test
Failed test-prune.t: output changed
# Ran 41 tests, 1 skipped, 6 warned, 1 failed.
Faheem Mitha <faheem@faheem.info> [Sun, 24 Aug 2014 01:02:18 +0530] rev 1103
debian: add README to the list of documents shipped with the package.
Faheem Mitha <faheem@faheem.info> [Sun, 24 Aug 2014 01:42:34 +0530] rev 1102
debian: add missing curl Build-Depends
curl is required to run the tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Apr 2014 14:14:29 -0700] rev 1101
prune: work around lazy revset slowdown
Since 3.0 lazy revset is making some revset very slow. We currently work around
the issue by using a simple loop instead.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 02 Sep 2014 19:19:17 +0200] rev 1100
readme: act that there will not be a 4.1.1 release
David Soria Parra <davidsp@fb.com> [Fri, 29 Aug 2014 14:26:17 +0200] rev 1099
evolve: write a status message when the working directory changes
Evolve changes the working directory during atop, etc which can confuse people
as they are not aware that this happend. The ideal solution is to not have
evolve change it, however mercurial limitations don't allow us to do that at the
moment. So instead we are printing a status message that the working directory
changed.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 09:29:02 +0200] rev 1098
merge small default improvement before dropping compat with released Mercurial
We are going to drop a bunch of compatibility layer.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 16:13:19 +0200] rev 1097
pull: use discovery to pull less obsmarkers through bundle2
This hooks in the official API for bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 16:13:01 +0200] rev 1096
pull: run obsmarker discovery only on the common set
If the discovery is run before the obsmarker push, pulled revs does not exist in
the repository yet.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 16:11:22 +0200] rev 1095
evolve: fix a typo in a long function name
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 15:19:19 +0200] rev 1094
bundle2: burn some more of the old code
Some of it survived.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:59:11 +0200] rev 1093
obsexch: respect todosteps when using the old push
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:28:22 +0200] rev 1092
compat: update the tests after the jump
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:16:10 +0200] rev 1091
compat: use in-core encodemarkers
Now exist in core witha slightly different format.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:15:39 +0200] rev 1090
compat: rename encodeonemarkers to _fm0encodemarkers
This is getting renamed in core.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 27 Jul 2014 23:09:45 +0200] rev 1089
enable bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 11:56:16 +0200] rev 1088
drop the debug output
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 18:28:09 +0200] rev 1087
test-simple4server: add error output for http
This is useful in case of failure.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 10:44:40 +0200] rev 1086
compat: adapt to change to memctx
Since core mercurial 650b5b6e75ed we must return None instead of raising
IOError. Hooray for mads!!
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:49:08 +0200] rev 1085
evolve: use pushkeyescape from core
It exists for all version we are compatible with.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:55:20 +0200] rev 1084
evolve: display more message
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:36:35 +0200] rev 1083
evolve: drop a very old safe guard about bad marker
The do not clean marker with nullrev successors. I assume none of them remains.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:31:21 +0200] rev 1082
pull: drop the custom bundle2 part
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:25:18 +0200] rev 1081
obsexc: add support for evoext_pushobsmarkers_0 on localpeer
This will unify the behavior of exchange in the tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:24:40 +0200] rev 1080
evolve: allow read() from the magic StringIO
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:12:01 +0200] rev 1079
evolve: drop old obsmarker discovery code
It as not caller anymore.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 17:09:36 +0200] rev 1078
obsexc: use the common discovery
We drop the hand made discovery and rely on the general one introduced some time
ago.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:29:40 +0200] rev 1077
obsexc: push nothing if push fail
This is closer to the future behavior with bundle2.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 29 Aug 2014 10:13:44 +0200] rev 1076
discovery: hook on the official discovery for obsmarker
This will let the discovery be done once and used by core.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:05:49 +0200] rev 1075
discovery: use a different setup step for discovery
This will ease the dropping of the other part later.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:04:57 +0200] rev 1074
evolve: remove unused drop random
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 12:02:53 +0200] rev 1073
obshash: resist to unknown revision during discovery
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:49:58 +0200] rev 1072
code movement: gather discovery code together
The discovery code is the one thing that will survive the great purge.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:53:09 +0200] rev 1071
bundle2: drop custom compat
We'll rely on the core implementation to use bundle2.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:22:50 +0200] rev 1070
drop relevant marker compat
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:21:30 +0200] rev 1069
evolve: always use the transaction version of phase movement
This drop compat with all known released version of Mercurial.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 Aug 2014 10:29:31 +0200] rev 1068
evolve: drop debugobsoleterelevant
Core gained this capability usig `hg debugobsolete --rev REV`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 20:49:48 -0700] rev 1067
evolve: yield to relevant markers handling in core
The handling of obsolescence marker is now performed in core. If we detect a
mercurial with such power we skip the wrapping from evolve.
This changeset also suffer from massive diff from the change in display of
obsolescence marker with parent information introduced at the same time in core.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 Aug 2014 21:14:49 -0700] rev 1066
test-wireproto: adapt to output change from core
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 17:07:55 -0700] rev 1065
test: update test to new date formatting in debuobsolete output
The date is now a first class citizen with proper formatting.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 16:39:42 -0700] rev 1064
test: update help output to future 3.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 18 Aug 2014 15:57:44 -0700] rev 1063
merge with stable
Faheem Mitha <faheem@faheem.info> [Sun, 17 Aug 2014 05:05:22 +0530] rev 1062
pkg: make tests pass using the generated tarball
Exclude tests/test-drop.t and include tests/_exc-util.sh,
tests/dummyssh, and hgext/simple4server.py.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 17:42:19 -0700] rev 1061
compat: always call metadata as a keyword argument
Those function are gaining more arguments. using keyword argument keep use safe
in all version.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 16:54:32 -0700] rev 1060
test: work around a bug in debugobsolete
The defautl date was wrong all along. So we use a fixed date for all tests.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 Aug 2014 12:56:01 -0700] rev 1059
merge with stable