timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 10:43:52 +0000] rev 28303
blackbox: rewrite dirty documentation noting it is expensive
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:49:38 +0000] rev 28302
zeroconf: remove whitespace around = for named parameters
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:44:32 +0000] rev 28301
zeroconf: del is not a function
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:48:11 +0000] rev 28300
zeroconf: add whitespace around operator
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:33:39 +0000] rev 28299
zeroconf: wrap long lines
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 08:53:40 +0000] rev 28298
zeroconf: drop tabs
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 08:48:10 +0000] rev 28297
zeroconf: omit semicolons
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 08:42:46 +0000] rev 28296
zeroconf: use absolute_import
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 07:17:32 +0000] rev 28295
zeroconf: use print function
liscju <piotr.listkiewicz@gmail.com> [Mon, 29 Feb 2016 15:12:26 +0100] rev 28294
histedit: improve error when run on nodes with children (
issue5056)
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 11:51:46 +0000] rev 28293
tests: minor grammar change for check-commit
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 21:43:17 -0800] rev 28292
worker: document poor partitioning scheme impact
mpm isn't a fan of the existing or previous partitioning scheme. He
provided a fantastic justification for why on the mailing list.
This patch adds his words to the code so they aren't forgotten.
Matt Mackall <mpm@selenic.com> [Tue, 01 Mar 2016 18:03:49 -0600] rev 28291
Added signature for changeset
d493d64757eb
Matt Mackall <mpm@selenic.com> [Tue, 01 Mar 2016 18:03:44 -0600] rev 28290
Added tag 3.7.2 for changeset
d493d64757eb
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 18:22:49 -0800] rev 28289
hg: obtain lock when creating share from pooled repo (
issue5104)
There are race conditions between clients performing a shared clone
to pooled storage:
1) Clients race to create the new shared repo in the pool directory
2) 1 client is seeding the repo in the pool directory and another goes
to share it before it is fully cloned
We prevent these race conditions by obtaining a lock in the pool
directory that is derived from the name of the repo we will be
accessing.
To test this, a simple generic "lockdelay" extension has been added.
The extension inserts an optional, configurable delay before or after
lock acquisition. In the test, we delay 2 seconds after lock acquisition
in the first process and 1 second before lock acquisition in the 2nd
process. This means the first process has 1s to obtain the lock. There
is a race condition here. If we encounter it in the wild, we could
change the dummy extension to wait on the lock file to appear instead
of relying on timing. But that's more complicated. Let's see what
happens first.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 01 Mar 2016 03:28:46 +0900] rev 28288
doc: remove deprecated option from synopsis of command help
Before this patch, deprecated options below are used in synopsis of
command help, even though they aren't listed up as available options
by default. These might confuse readers.
- -n (no-op, now) of strip
- -a/--active of branches
- -f/--force of merge
Wagner Bruna <wbruna@yahoo.com> [Mon, 29 Feb 2016 22:20:53 -0300] rev 28287
i18n-pt_BR: synchronized with
535f2900d078
Matt Mackall <mpm@selenic.com> [Mon, 29 Feb 2016 17:52:17 -0600] rev 28286
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 29 Feb 2016 17:44:00 -0600] rev 28285
merge with i18n
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 21:29:42 -0800] rev 28284
run-tests: fix Python 3 incompatibilities
At one point run-tests.py and test-run-tests.t worked and passed
under Python 3.5. Various changes to run-tests.py over the past
several months appear to have broken Python 3.5 compatibility.
This patch implements various fixes (all related to str/bytes type
coercion) to make run-tests.py and test-run-tests.t mostly work
again. There are still a few failures in test-run-tests.t due to
issues importing mercurial.* modules. But at least run-tests.py
seems to work under 3.5 again.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 21:19:53 -0800] rev 28283
hghave: use print function
For Python 3 compatibility.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 22:25:47 -0800] rev 28282
changelog: remove redundant parentheses
You don't need to surround returned tuples with parens.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 23:06:05 -0800] rev 28281
changegroup: use changelog.readfiles
We have a dedicated function to get just the list of files in
a changelog entry. Use it.
This will presumably speed up changegroup application since we're
no longer decoding the entire changelog entry. But I didn't measure
the impact.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 27 Feb 2016 18:02:12 +0100] rev 28280
rebase: remove experimental option from 'rebase' config section
Changeset
f0e9f38d250f introduced a guard against case where obsolete changesets
are included in the rebase in a way this will result in divergence (because
rebase create new successors for changeset which already have successors). In
the same go a 'rebase.allowdivergence' option was introduced to control that
behavior.
We rename this config option to 'experimental.allowdivergence' for multiple
reasons:
* First this behavior is attached to changeset evolution, a feature still
experimental.
* Second, there was no 'rebase' section in config before we introduced this
option. I would like to avoid proliferation of micro config section and
therefore would like to avoid the creation of this new section just for an
experimental feature.
* Third, this guard (warning the user about a history rewriting operation that
will create divergence) will very likely be generalised to all history
rewriting operations, making this not rebase specific.
* Finally, because this will likely be a general guard present a bit everywhere
in the UI we'll likely end up with something better than a config option to
control this behavior, so having the current config option living in
experimental will allow us make it disappear in the future.
So we banish this config option back to the experimental section where it
belongs, killing the newly born 'rebase' config section in the process.
David R. MacIver <david@drmaciver.com> [Fri, 26 Feb 2016 17:15:49 +0000] rev 28279
testing: allow Hypothesis tests to disable extensions
Doing this required the introduction of a mechanism for keeping
track of more general config in the test. At present this is only
used for extensions but it could be used more widely (e.g. to
control specific extension behaviour)
This greatly simplifies the extension management logic by introducing
a general notion of config, which we maintain ourselves and pass to
HG on every invocation.
This results in significantly less error prone test generation, and
also allows us to turn extensions off as well as on.
The logic that used an environment variable to rerun the tests with
an extension disabled now just edits the test file (in a fresh copy)
to remove these --config command line flags.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 28 Feb 2016 00:00:13 -0800] rev 28278
keepalive: remove useless parentheses around exception type
Jun Wu <quark@fb.com> [Wed, 24 Feb 2016 20:45:47 +0000] rev 28277
chgserver: add a structure for confighash and mtimehash
confighash and mtimehash are often used together. This patch adds a simple
structure called hashstate to store them. hashstate also has a handly method
called fromui to calculate the hashes from a ui object.
Jun Wu <quark@fb.com> [Fri, 26 Feb 2016 14:59:39 +0000] rev 28276
chgserver: add utilities to calculate mtimehash
mtimehash is designed to detect file changes. These files include:
- single file extensions (__init__.py for complex extensions)
- mercurial/__version__.py
- python (sys.executable)
mtimehash only uses stat to check files so it's fast but not 100% accurate.
However it should be good enough for our use case.
For chgserver, once mtimehash changes, the server is considered outdated
immediately and should no longer provide service.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 27 Feb 2016 17:31:23 +0100] rev 28275
tests: rename 'test-module-import.t' into 'test-check-module-import.t'
This test is checking our source code to ensure style and correct behavior (eg:
no cycle). Current convention is that such tests starts with 'test-check-' so we
flock this on back with the others.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Feb 2016 20:22:05 +0900] rev 28274
pull: deactivate a bookmark not matching with the destination of the update
Before this patch, "hg pull -u" with a target doesn't deactivate a current
active bookmark, which doesn't match with the explicit destination of the
update, even though bare "hg update" does so.
A "target" can be provided through:
- option --rev ANOTHER
- option --branch ANOTHER
- source URL#ANOTHER
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Feb 2016 20:22:05 +0900] rev 28273
pull: activate a bookmark matching with the destination of the update (BC)
Before this patch, "hg pull -u" with a target doesn't activate a bookmark, which
matches with the explicit destination of the update, even though bare "hg
update" does so.
A "target" can be provided through:
- option --rev BOOKMARK
- source URL#BOOKMARK
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Feb 2016 20:13:45 +0900] rev 28272
revset: define "pat" variable unconditionally in subrepo()
It's a source of UnboundLocalError to define and use local variables
conditionally. As getstring() always returns a str, "pat" can be initialized
to None.