Yuya Nishihara <yuya@tcha.org> [Mon, 09 Nov 2015 22:31:01 +0900] rev 26966
test-encoding: enable fuzz testing of utf8b roundtrip
This test was written by David R. MacIver <david@drmaciver.com> at the London
sprint. We can enable it as the bug in utf8b encoder/decoder has been fixed.
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Nov 2015 17:42:03 +0900] rev 26965
import-checker: reset context to verify convention in function scope
I got the following error by rewriting hgweb/webcommands.py to use
absolute_import. It is false-positive because the import line appears in
"help" function:
hgweb/webcommands.py:1297: higher-level import should come first: mercurial
This patch makes the import checker aware of the function scope and apply
rules recursively.
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Nov 2015 00:37:22 +0900] rev 26964
import-checker: allow import of child modules from package root
I got the following error by rewriting hgweb/__init__.py to use
absolute_import, which is obviously wrong:
Import cycle: mercurial.hgweb.__init__ -> mercurial.hgweb.__init__
"from foo import bar" should not make a cycle if "foo" is a package and
if "bar" is a module or a package. On the other hand, it should be detected
as a cycle if "bar" is a non-module name. Both cases are doc-tested already,
so this patch does not add new doctest.
Matt Mackall <mpm@selenic.com> [Mon, 02 Nov 2015 17:17:33 -0600] rev 26963
encoding: extend test cases for utf8b
This adds a round-trip helper and a few tests of streams that could
cause synchronization problems in the encoder.
Siddharth Agarwal <sid0@fb.com> [Fri, 13 Nov 2015 22:43:09 -0800] rev 26962
merge: make 'cd' and 'dc' actions store the same arguments as 'm'
We're going to treat these conflicts similarly to merge conflicts, and this
change to the way we store things in memory makes future code a lot simpler.
Siddharth Agarwal <sid0@fb.com> [Fri, 13 Nov 2015 14:24:22 -0800] rev 26961
merge: stop emptying out 'cd' and 'dc' actions
(1) These aren't currently read from anywhere, so emptying this out is
pointless.
(2) These *will* be read from later in upcoming patches, and not emptying
them out will be important then.
liscju <piotr.listkiewicz@gmail.com> [Sun, 15 Nov 2015 22:18:48 +0100] rev 26960
rebase: add returning value from pullrebase function
So far pullrebase function has always returned None value, no matter
what orig function returned. This behaviour made impossible for
pull to change returned value from mercurial process (it has always
ended with 0 value by default). This patch makes pullrebase returning
with returned value from orig.
Siddharth Agarwal <sid0@fb.com> [Fri, 13 Nov 2015 15:56:02 -0800] rev 26959
resolve: restore .orig only after merge is fully complete (issue4952)
Previously, we'd restore the .orig file after the premerge is complete but
before the merge was complete. This would lead to the .orig file potentially
containing merge conflict markers in it, as a leftover from the last merge
attempt.
Anton Shestakov <av6@dwimlabs.net> [Fri, 06 Nov 2015 22:32:00 +0800] rev 26958
monoblue: add a space to separate navigation links in file log footer
Before: '(0)-60tip', after: '(0) -60 tip'.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Nov 2015 13:14:03 -0800] rev 26957
merge: move messages about possible conflicts a litte earlier
I actually wanted to reduce the amount of code around the call to
applyupdates(), so I tried moving these warnings a little earlier, and
I think it makes the output make a little more sense (see changes to
test cases).
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Nov 2015 15:46:06 +0900] rev 26956
import-checker: include lineno in warning message
This makes it easy to look for imports in function scope.
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Nov 2015 15:39:25 +0900] rev 26955
import-checker: extract function to generate a formatted warning
This is the stub to embed lineno. See the next patch for details.
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Nov 2015 13:53:05 +0900] rev 26954
import-checker: make it executable for convenience
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
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:52:54 -0800] rev 26943
mq: let the user choose where .orig files are kept
This patch uses cmdutil.origpath to let the user decide where .orig files are
kept when backup files are created.
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:41:14 -0800] rev 26942
shelve: choose where .orig file locations are kept
This patch uses cmdutil.origpath to let the user set the location of the orig
files.
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 16:25:59 -0800] rev 26941
filemerge: choose where .orig files are kept
Having .orig files litter your working copy is a common complaint. This patch
uses cmdutil.orig to let the user determine where those files should reside.
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:29:13 -0800] rev 26940
git-subrepos: revert respects specified location to save .orig files
This patch makes revert in git subrepos save .orig files where the user wants
them by using the cmdutil.origpath function.
Christian Delahousse <cdelahousse@fb.com> [Tue, 10 Nov 2015 14:26:19 -0800] rev 26939
resolve: choose where .orig file locations are kept
Having your working copy littered with .orig files is a common HG complaint.
This patch uses the cmd.origpath helper function to let the user
specify where they should be kept when using the resolve command.
Christian Delahousse <cdelahousse@fb.com> [Thu, 12 Nov 2015 17:00:08 -0600] rev 26938
revert: allow configuring the .orig file location
Christian Delahousse <cdelahousse@fb.com> [Thu, 12 Nov 2015 16:56:06 -0600] rev 26937
cmdutil: add origbackuppath helper