Matt Harbison <matt_harbison@yahoo.com> [Mon, 09 Nov 2015 17:20:50 -0500] rev 26953
test-fileset: glob the updated file count for Windows stability
Some of the prior changes are platform dependent, involving symlinks, exec bits
and non portable names. An update 10 lines above also globbed this value to
avoid differences, since this line isn't of particular interest- the filesets
are.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 09 Nov 2015 13:12:35 -0500] rev 26952
tests: tolerate differences between Linux and Windows error strings
These are related to differences in how missing files and network connection
failures are displayed. I opted to combine the strings in one line instead of
using '#if windows' blocks around entire commands in order to avoid future
changes being accidentally missed in the Windows sections. Globbing away the
entire output seemed wrong, as it could mask other failures.
The raw messages involved are:
Linux Windows
"* not known" <-> "getaddrinfo failed"
"Connection refused" <-> "No connection could be made because the
target machine actively refused it"
"No such file or directory" <-> "The system cannot find the file specified"
Issue 4941 indicates that NetBSD has yet another string for "* not known".
Also, the histedit test shows that the missing file is printed first on Windows,
last on Linux. That is controlled in windows.py:posixfile if we care to change
it.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 09 Nov 2015 12:51:58 -0500] rev 26951
test-largefiles-cache: add glob for Windows
Matt Harbison <matt_harbison@yahoo.com> [Mon, 09 Nov 2015 12:49:31 -0500] rev 26950
tests: make 'f' tool open files in binary mode when hexdumping
On Windows, the various bundle hexdumps were being truncated at the first
occurrence of 0x1a. The line endings in the sequence generation then needs to
be standardized on LF so that the file is the same for the tool tests.
Siddharth Agarwal <sid0@fb.com> [Thu, 12 Nov 2015 14:29:02 -0800] rev 26949
merge.applyupdates: only attempt to merge files in mergeactions
This only makes a difference when a merge driver is active -- in that case we
don't want to try and merge all the files, just the ones still unresolved after
the merge driver's preprocess step is over.
Siddharth Agarwal <sid0@fb.com> [Wed, 11 Nov 2015 17:34:28 -0800] rev 26948
filemerge: rename _symlinkcheck to _mergecheck
We're going to be adding other checks in here soon.
Siddharth Agarwal <sid0@fb.com> [Wed, 11 Nov 2015 17:32:41 -0800] rev 26947
test-merge-prompt.t: rename to test-merge-changedelete.t
Because:
(a) the only prompts we test in this file are change/delete prompts, and
(b) we're going to be expanding the scope of this test to cover future
improvements to change/delete conflicts, including avoiding prompts
altogether.
Matt Mackall <mpm@selenic.com> [Thu, 12 Nov 2015 20:48:41 -0600] rev 26946
merge with stable
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 12 Nov 2015 13:16:04 -0800] rev 26945
tags: create new sortdict for performance reasons
sortdict internally maintains a list of keys in insertion order. When a
key is replaced via __setitem__, we .remove() from this list. This
involves a linear scan and array adjustment. This is an expensive
operation.
The tags reading code was calling into sortdict.__setitem__ for each tag
in a read .hgtags revision. For repositories with thousands of tags or
thousands of .hgtags revisions, the overhead from list.remove()
noticeable.
This patch creates a new sortdict() so __setitem__ calls don't incur a
list.remove.
This doesn't appear to have any performance impact on my Firefox
repository. But that's only because tags reading doesn't show up in
profiles to begin with. I'm still waiting to hear from a user with over
10,000 tags and hundreds of heads on the impact of this patch.
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 15:08:56 -0800] rev 26944
largefiles: specify where .orig files are kept
This patch let's the user specify where .orig files are kept using the
cmdutil.origpath function