Matt Harbison <matt_harbison@yahoo.com> [Wed, 16 Dec 2015 13:33:43 -0500] rev 27436
windows: correct the import of win32
This module is relative, and was overlooked when converting to absolute_import
in
6daa795ed32f.
Pascal Quantin <pascal.quantin@gmail.com> [Thu, 17 Dec 2015 19:33:44 +0100] rev 27435
win32: add internals help topics to Inno Setup installer
Augie Fackler <augie@google.com> [Fri, 18 Dec 2015 09:57:35 -0500] rev 27434
changegroups: add documentation for cg3
Mike Edgar <adgar@google.com> [Mon, 14 Dec 2015 15:55:12 -0500] rev 27433
changegroup: add flags field to cg3 delta header
This lets revlog flags be transmitted over the wire. Right now this is
useful for censored nodes and for narrowhg's ellipsis nodes.
Augie Fackler <augie@google.com> [Fri, 11 Dec 2015 11:23:49 -0500] rev 27432
changegroup: introduce cg3, which has support for exchanging treemanifests
I'm not entirely happy with using a trailing / on a "file" entry for
transferring a treemanifest. We've discussed putting some flags on
each file header[0], but I'm unconvinced that's actually any better:
if we were going to add another feature to the cg format we'd still be
doing a version bump anyway to cg4, so I'm inclined to not spend time
coming up with a more sophisticated format until we actually know what
the next feature we want to stuff in a changegroup will be.
Test changes outside test-treemanifest.t are only due to the new CG3
bundlecap showing up in the wire protocol.
Many thanks to adgar@google.com and martinvonz@google.com for helping
me with various odd corners of the changegroup and treemanifest API.
0: It's not hard refactoring, nor is it a lot of work. I'm just
disinclined to do speculative work when it's not clear what the
customer would actually be.
Matt Mackall <mpm@selenic.com> [Fri, 18 Dec 2015 14:40:11 -0600] rev 27431
merge with stable
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 17 Dec 2015 17:16:02 -0800] rev 27430
revlog: seek to end of file before writing (
issue4943)
Revlogs were recently refactored to open file handles in "a+" and use a
persistent file handle for reading and writing. This drastically
reduced the number of file handles being opened.
Unfortunately, it appears that some versions of Solaris lose the file
offset when performing a write after the handle has been seeked.
The simplest workaround is to seek to EOF on files opened in a+ mode
before writing to them, which is what this patch does.
Ideally, this code would exist in the vfs layer. However, this would
require creating a proxy class for file objects in order to provide a
custom implementation of write(). This would add overhead. Since
revlogs are the only files we open in a+ mode, the one-off workaround
in revlog.py should be sufficient.
This patch appears to have little to no impact on performance on my
Linux machine.
Augie Fackler <augie@google.com> [Mon, 14 Dec 2015 20:57:21 -0500] rev 27429
manifestmerge: have manifest do matching before diffing
This means that the diff code does less work, potentially
significantly less in the case of treemanifests. It also should ease
implementation with narrowed clone cases (such as narrowhg) when we
don't always have the entire set of treemanifest revlogs locally.
As far as I can tell, this codepath is currently only used by record,
so it'll probably die in the near future, and then narrowhg won't have
to worry about composing with some unknown matching system.
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:57:20 +0000] rev 27428
branch: reword help text
We're not necessarily talking about *the* active branch,
just any old branch.
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:56:32 +0000] rev 27427
archive: adjust help text
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:54:47 +0000] rev 27426
annotate: add missing period to help
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:54:20 +0000] rev 27425
addremove: make help match add
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:53:40 +0000] rev 27424
add: mention .hgignore in help
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 15:05:25 +0000] rev 27423
bundle: warn for --base with --all
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 15:03:45 +0000] rev 27422
bundle: fix error for --all with destination
Before it complained about --base
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:59:11 +0000] rev 27421
bundle: fix grammar in help text
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:58:52 +0000] rev 27420
bundle: clarify help text
The file might not be compressed; the interactions between
-a, --base, and a named or default repository weren't clear.
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 20:07:19 +0900] rev 27419
cmdutil: do not duplicate stdout by makefileobj()
It made output order unpredictable because two separate buffers are flushed
individually. Let's use a thin wrapper that just sends close() to black hole.
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 20:01:11 +0900] rev 27418
cmdutil: reimplement file wrapper that disables close()
There's no need to dynamically create wrappedfileobj class and define
close() as lambda. Also, __iter__() was missing.
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 19:57:54 +0900] rev 27417
export: remove useless comparison between file object and string
It was introduced at
31aa2e5b0750, where "template" argument could be a file
object. After that,
a306837f8c87 added "len(template)", so "template" must be
a string now. Therefore, "fp != template" should always be True.
It seems
31aa2e5b0750 was intended to work around a bug in TortoiseHg, and
I'm sure I've fixed it completely in TortoiseHg source.
https://selenic.com/pipermail/mercurial-devel/2011-February/028467.html
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 19:47:46 +0900] rev 27416
export: do not print '<fdopen>' as an output filename
Because makefileobj() duplicates or wraps stdout, "fp != sys.stdout" didn't
work correctly. Python doc states that special file objects are named in the
form '<...>', and absolute filenames should never start with '<', we can
ignore names start with '<'. We can't test fp.fileno() because fp may be a
command-server channel.
https://docs.python.org/2.7/library/stdtypes.html#file.name
In the test output, "exporting patch:" line is printed after patch content.
This is caused by fdopen() and will be fixed by the subsequent patch.
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Dec 2015 19:32:01 +0900] rev 27415
commandserver: implement name() to clarify channel is not a plain file
Because unknown attributes are delegated to the underlying file object,
commandserver channels said they were '<stdout>' or '<stdin>' even though
they weren't. This patch makes them say '<X-channel>'.
Mateusz Kwapich <mitrandir@fb.com> [Tue, 15 Dec 2015 13:27:09 -0800] rev 27414
histedit: delete to drop
The default behaviour to forbid this makes a lot of sense for novice users
because it's safeguarding them from dangerous behavior but making it
configurable will be apprieciated by power users in at least one big
organization.
It allows an user to look an histedit rules from declarative perspective and
make the rules reflect the state after histedit. If we can move lines t move
commits why can't we drop lines to drop commits?
Let's put this behind config knob and inform users about this feature the very
moment they are trying to use it so they can choose desired behaviour.
Mathias De Maré <mathias.demare@gmail.com> [Wed, 16 Dec 2015 12:33:54 +0100] rev 27413
clonebundles: fix bundlespec typo
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 20:13:29 +0000] rev 27412
record: fix hunk handling to remember the current function
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:38:22 +0000] rev 27411
record: turn on showfunc
Always try to give diff context when doing an interactive record
Bryan O'Sullivan <bos@serpentine.com> [Thu, 17 Dec 2015 13:07:34 -0800] rev 27410
parsers: use PyTuple_Pack instead of manual list-filling
Suggested by Yuya.
Thu Trang Pham <thu@fb.com> [Thu, 17 Dec 2015 15:23:36 -0800] rev 27409
tags: mention --quiet switch in help (
issue4920)
Matt Mackall <mpm@selenic.com> [Thu, 17 Dec 2015 17:27:32 -0600] rev 27408
merge with stable
timeless <timeless@mozdev.org> [Mon, 14 Dec 2015 23:04:17 +0000] rev 27407
histedit: omit useless message from update (edit)
specifically:
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
timeless <timeless@mozdev.org> [Mon, 14 Dec 2015 22:37:31 +0000] rev 27406
histedit: omit useless message from update (_histedit)
specifically:
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
timeless <timeless@mozdev.org> [Mon, 14 Dec 2015 21:43:16 +0000] rev 27405
histedit: omit useless message from update (histeditaction)
specifically:
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
timeless <timeless@mozdev.org> [Mon, 14 Dec 2015 23:14:06 +0000] rev 27404
update: add quietempty flag to _showstats
if called with quietempty=True, suppress:
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
timeless <timeless@mozdev.org> [Mon, 14 Dec 2015 22:08:14 +0000] rev 27403
histedit: omit useless message from abort
specifically:
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
timeless <timeless@mozdev.org> [Mon, 14 Dec 2015 23:13:25 +0000] rev 27402
hg: add quietempty flag to _showstats
if called with quietempty=True, suppress:
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Mateusz Kwapich <mitrandir@fb.com> [Thu, 17 Dec 2015 11:00:06 -0800] rev 27401
patch: disable nobinary when HGPLAIN=1
The diff output without binaries is definitely great for interactive users - a
binary patch is not meaningful for them. Although setting diff.nobinary flag
can break the automation. Let's force full output for automation.
Yuya Nishihara <yuya@tcha.org> [Thu, 17 Dec 2015 22:29:41 +0900] rev 27400
help: add missed last new line to "internals" topic
Caught by test-gendoc.t.
Matt Mackall <mpm@selenic.com> [Wed, 16 Dec 2015 20:58:26 -0600] rev 27399
dirstate: make delaywrite sleep until the next multiple of n seconds
Rather than sleep for 2 seconds, we sleep until the next even-numbered
second, which has the same effect, but makes tests faster. This
removes test-largefiles-update as the long pole of the test suite.
Matt Mackall <mpm@selenic.com> [Wed, 16 Dec 2015 20:49:18 -0600] rev 27398
dirstate: only invoke delaywrite if relevant
This avoids a significant amount of sleeping in some of our longest
tests.
Matt Mackall <mpm@selenic.com> [Wed, 16 Dec 2015 20:46:53 -0600] rev 27397
dirstate: move delaywrite logic from write to _write
This will allow us to be smarter in upcoming patches.
Matt Mackall <mpm@selenic.com> [Mon, 07 Dec 2015 16:16:06 -0600] rev 27396
run-tests: show scheduling with --showchannels
This gives one line of output per second with one column per -j level
that allows analyzing test scheduling problems. First 24 seconds of
output at -j 30 looks like this:
0 .
1 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = s.
2 c c o c r l g r s s = c p = c h c a h c g c h c b c c l l c ss
3 h o b o e a e u u u c o a h o e o c g o l h g h u o = a o = s
4 e n s n b r n n b b m t g n l n l w n o e w e n n e r g i .
5 c t o = a g d - r r = m c w v p v . e v g c e c d v x g . m
6 k r l r s e o t e e b a h e e . e . b e . k b k l e t e . p
7 - i e e e f c e p p u n b b r . r . - r . - - - e r e f . o .
8 p b t v - i . s o o n d o d t . t . c t . c s = 2 t n i . r
9 y - e s c l . t - . d - m i - . - . o - . o y r - - s l . t
10 3 p - e h e . s s . l t b r s . s . m s . d m e f s i e . .
11 - e c t e s . . v . e e . . v . v . m v . e r n o v o s . .
12 c r h . c - . . n . 2 m . . n . n . a n . . e a r n n . . .
13 o f e . k u . . . . - p . . - . - . n - . . v m m - . . . .
14 m . c . - p . . . . e l . . s . m . d s . . . e a e . . . .
15 p . k . r d . . . . x a . . i . o . s o . . . - t n . . . .
16 a . h . e a . . . . c t . . n . v . . u . . . m . c . . . .
17 t . e . s t . . . . h e . . k . e . . r . . . e . o . . . .
18 . . a . t e . . . . a . . . . . . . . c . . . r . d . . . .
19 . . d . o . . . . . n . . . . . . . . e . . . g . i . . . .
20 . . s . r . . . . . g . . . . . . . . . . . . e . n . . . .
21 . . . . e . . . . . e . . . . . . . . . . . . 2 . g . . . .
22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24 . . . . . . . . . . . . . . . . . . . . . . . . . = . . . . ^C
Test names read off vertically, beginning with '='. Idle time (not
shown) appears as blank space.
Matt Mackall <mpm@selenic.com> [Sun, 06 Dec 2015 15:14:01 -0600] rev 27395
tests: avoid duplicate install steps in test-run-tests
At several seconds each, this is significantly slowing down the test.
Matt Mackall <mpm@selenic.com> [Fri, 04 Dec 2015 17:05:20 -0600] rev 27394
run-tests: add more scheduling weight hints
The scheduler would like to order test execution by expected run-time,
but doesn't know much about how long a test will run. It thus uses
test size as a proxy for run-time. By tweaking these weights we can
keep CPUs more evenly busy and thus finish sooner.
In particular, this change pushes the three currently longest-running
tests closer to the beginning:
test-largefiles-update.t
test-run-tests.t
test-gendoc.t
As the largefiles test is currently the long pole of the test suite
with higher -j factors, the sooner it's started, the sooner the tests
can end.
We also up the weight on some shorter but long-running tests that
could have previously delayed completion with low -j factors by
running very close to the end.
Matt Mackall <mpm@selenic.com> [Fri, 04 Dec 2015 14:55:10 -0600] rev 27393
run-tests: report timeouts in a less alarming fashion
Rather than report timed-out tests like this:
ERROR: test-convert-svn-sink.t output changed
!
..simply put a 't' rather than a '.' in the stream.
Matt Mackall <mpm@selenic.com> [Mon, 30 Nov 2015 13:47:29 -0600] rev 27392
ui: try to handle $$ more robustly in prompts (
issue4970)
Matt Mackall <mpm@selenic.com> [Wed, 16 Dec 2015 17:40:01 -0600] rev 27391
merge with stable
timeless <timeless@mozdev.org> [Tue, 15 Dec 2015 07:57:04 +0000] rev 27390
import: reorder help text
Try to place key concepts early+together.
timeless <timeless@mozdev.org> [Tue, 15 Dec 2015 07:56:03 +0000] rev 27389
import: add word to help text