Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 14:21:38 +0200] rev 1272
merge with stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 14:20:03 +0200] rev 1271
Add "documentation update" to the changelog.
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:01:05 -0400] rev 1270
docs: cover 'touch' command
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:18:01 -0400] rev 1269
docs: explain that obsolete is not hidden
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:09:55 -0400] rev 1268
docs: explain --hidden option
Also move the discussion of revision numbers up, and splice the
explanation of --hidden into it.
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:42:42 -0400] rev 1267
docs: tweak wording, punctuation for better readability
Greg Ward <greg@gerg.ca> [Mon, 13 Apr 2015 15:00:05 -0400] rev 1266
docs: flesh out unfinished bits in the intro page
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:58:13 -0400] rev 1265
docs: revive the explanation of divergent changesets in the sharing guide
Greg Ward <greg@gerg.ca> [Fri, 20 Jun 2014 08:19:04 -0400] rev 1264
docs (sharing): more scattered wording tweaks
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:55:04 -0400] rev 1263
docs: sharing guide: clarify end-game of "Example 2"
- push to dev-repo, rather than pulling into it (consistent
with how we work the multiple developer scenario later)
- explicitly demonstrate that public changesets are immutable
Greg Ward <greg@gerg.ca> [Sun, 15 Jun 2014 21:17:09 -0400] rev 1262
docs: minor tweaks to sharing guide (suggested by timeless)
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:53:12 -0400] rev 1261
docs: add code review scenario to sharing guide
The idea is to demonstrate a simpler multiple-developer situation that
does not involve getting into trouble.
The final scenario illustrates Alice and Bob getting into trouble with
bumped and divergent changesets by amending each other's history. The
required tests and text are all written, but will need to be heavily
revised because of the inserted scenario.
Greg Ward <greg@gerg.ca> [Mon, 09 Jun 2014 08:18:43 -0400] rev 1260
docs: add a bit more hierarchy to the sharing guide
Greg Ward <greg@gerg.ca> [Tue, 14 Apr 2015 12:43:37 -0400] rev 1259
docs: update sharing guide based (mostly) on marmoute's review
- don't claim certain scenarios are more/less common, just
simple/advanced
- mention code review as a multiple-developer scenario (not described
in detail yet!)
- suggest "hg config --edit --local" instead of "cat >> .hg/hgrc"
- use -q less often (and show resulting output)
- edit some section headers to be consistent with user guide
(example numbers; "amend" instead of "amending")
(These are just the small changes; big changes are yet to come.)
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:52:43 +0200] rev 1258
Added tag 5.1.3 for changeset c52c15100fb2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:52:17 +0200] rev 1257
prepare version 5.1.3
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:48:06 +0200] rev 1256
graft: avoid potential deadlock
We must acquire 'wlock' before 'lock'.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:47:04 +0200] rev 1255
commit: avoid potential deadlock
We must acquire 'wlock' before 'lock'.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:41:27 +0200] rev 1254
update readme
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 20 Apr 2015 13:36:12 +0200] rev 1253
pull: fix bundle2 part generation
The new part generator (allowing partial pull) was unproperly installed.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 10:35:26 -0400] rev 1252
simple4server: cleanup debug output
The debug output got duplicated with the original code. And the cleanup forgot
about simple4serve. (code duplicated yeah!)
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 11 Apr 2015 00:10:10 -0400] rev 1251
merge with stable
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