Drew Gottlieb <drgott@google.com> [Tue, 21 Apr 2015 17:16:10 -0700] rev 24914
localrepo: make requirements always be a set in localrepo.__init__
The init function used to create a local list, and then convert it to a set
before assigning it as a data attribute. This change simplifies the function by
having it always be a set, requiring no conversion.
Drew Gottlieb <drgott@google.com> [Tue, 21 Apr 2015 16:55:30 -0700] rev 24913
localrepo: eliminate requirements class variable (API)
Localrepo's requirements class variable was introduced in
b090601a80d1 to make
requirements modifiable by extensions. A main access point, _baserequirements,
still exists, but this change undoes making the class variable to begin with.
Without this simplification, there is a class variable with a default value
that is only copied, but never directly used. This behavior is moved directly
into the _baserequirements function.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 29 Apr 2015 10:30:58 -0700] rev 24912
changegroup.group: drop 'reorder' parameter
Since we always pass self._reorder to self.group(), let's drop the
parameter and let group() read from self._reorder itself. There are no
other in-tree callers to group().
Martin von Zweigbergk <martinvonz@google.com> [Wed, 29 Apr 2015 10:38:45 -0700] rev 24911
cg2packer: set reorder=False in __init__ instead of in group()
The difference between reorder=None (bundle.reorder=auto) and
reorder=False is that the generaldelta revlogs get reordered with the
former. In cg2packer, group() we check if the revlog uses generaldelta
and if reorder=None and then convert that to reorder=False. We are
effectively saying that whether or not generaldelta is used, we want
reorder=None to mean reorder=False for changegroup 2. To make this
clearer, check if reorder=None in the constructor and change it to
False there and drop the overriding of group(). Also document the
reason for turning reordering off.
Martin von Zweigbergk <martinvonz@google.com> [Thu, 23 Apr 2015 09:44:22 -0700] rev 24910
changegroup: use 'reorder is None' instead of 'reorder is not True/False'
The config option bundle.reorder can be {on,off,auto}, which gets read
into the 'reorder' variable as {True,False,None}. In two places, we
need to decide how to handle the None/auto case. I personally find it
easier to read those expressions when written to explicitly compare to
None.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 09 Apr 2015 23:47:07 -0400] rev 24909
crecord: fix mixed imports warning
Matt Harbison <matt_harbison@yahoo.com> [Fri, 01 May 2015 20:17:00 -0400] rev 24908
windows: add doctest for shellquote()
This is actual test coverage for
issue4629. The test changes in
eea3977e6fca
were simply the addition of quotes to the output, not ensuring that strings with
backslashes are quoted.
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Apr 2015 21:42:07 +0900] rev 24907
template-phases: extend default style instead of duplicating it
The phases style started as a copy of the default style at
5c5152af0d15, but
we didn't have to copy it because the templater supports %include syntax.
This makes sure that the phases style have the same output as the default
except for the additional "phase:" row.
Yuya Nishihara <yuya@tcha.org> [Thu, 30 Apr 2015 22:40:18 +0900] rev 24906
commands: hide formatter option as EXPERIMENTAL, not as DEPRECATED
117b9a101f71 introduced the EXPERIMENTAL marker, so we should use it
consistently.
Christian Ebert <blacktrash@gmx.net> [Sat, 18 Apr 2015 15:39:26 +0200] rev 24905
keyword: use wvfs.rmtree to remove kwdemo directory
Pass repo.root explicitly as argument to indicate that removal of the temporary
repo is intentional in this case.
Alexander Drozdov <al.drozdov@gmail.com> [Mon, 20 Apr 2015 10:52:20 +0300] rev 24904
revset: id() called with 40-byte strings should give the same results as for short strings
The patch solves two issues:
1. id(unknown_full_hash) aborts, but id(unknown_short_hash) doesn't
2. id(40byte_tag_or_bookmark) returns tagged/bookmarked revision,
but id(non-40byte_tag_or_bookmark) doesn't
After the patch:
1. id(unknown_full_hash) doesn't abort
2. id(40byte_tag_or_bookmark) returns empty set
Yuya Nishihara <yuya@tcha.org> [Sun, 03 May 2015 17:33:14 +0900] rev 24903
templater: fix crash by passing invalid object to date() function
"date information" is somewhat obscure, but we call it that way in
templatekw.showdate().
Siddharth Agarwal <sid0@fb.com> [Sun, 03 May 2015 12:49:15 -0700] rev 24902
util.checkcase: don't abort on broken symlinks
One case where that would happen is while trying to resolve a subrepo, if the
path to the subrepo was actually a broken symlink. This bug was exposed by an
hg-git test.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 22 Apr 2015 15:03:09 -0700] rev 24901
changegroup: close progress in same function as it's started
changegroup.group() and changegroup.generatefiles() both currently
start progress (with topic "bundling"), but changegroup.generate()
closes the topic. Move the closing to the functions that start the
topic, so it's easier to see where the topic is started and closed.
This completes a move that seems to have been started in
0b564cf359a7
(bundle-ng: move progress handling out of the linkrev callback,
2013-05-10).
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Apr 2015 10:21:04 -0700] rev 24900
changegroup: don't reuse 'mfest' variable for different type
We have a variable 'mfest' that's first a manifest nodeid and then a
manifest. Let's make it clearer by using separate variables for the
two uses.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Apr 2015 10:19:42 -0700] rev 24899
changegroup: rename 'mf' to 'ml' to match 'cl', since it's a revlog
The 'mf' variable is a manifest revlog, not a manifest, so let's
rename it accordingly. We already call the changelog variable 'cl', so
'ml' seems appropriate.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 20 Apr 2015 14:11:20 -0700] rev 24898
changegroup: rename 'needed' to 'clrevs' to match 'clnodes'
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Apr 2015 13:49:19 -0700] rev 24897
changegroup: document that 'source' parameter exists for extensions
The 'source' parameter passed to generatefiles() is unused by the
method itself, but Durham says it is used by an extension.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 28 Apr 2015 13:40:00 -0700] rev 24896
changegroup: removed unused 'source' parameter from prune()
The parameter has been unused since it was introduced in
6ea1f858efd9
(bundle: refactor changegroup prune to be its own function,
2013-05-30), and Durham says it is not used by his extension either.
Matt Mackall <mpm@selenic.com> [Fri, 01 May 2015 17:21:10 -0500] rev 24895
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 01 May 2015 16:49:15 -0500] rev 24894
Added signature for changeset
8cc6036bca53
Matt Mackall <mpm@selenic.com> [Fri, 01 May 2015 16:48:51 -0500] rev 24893
Added tag 3.4 for changeset
8cc6036bca53
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 02 May 2015 00:15:03 +0900] rev 24892
tests: make tests with temporary environment setting portable
With "dash" (as "/bin/sh" on Debian GNU/Linux), command execution in
"ENV=val foo bar" style doesn't work as expect in test script files,
if "foo" is user-defined function: it works fine, if "foo" is existing
commands like "hg".
09049042ab99 introduced tests for HGPLAIN and HGPLAINEXCEPT into
test-revset.t, and all of them are in such style.
This patch doesn't:
- add explicit unsetting for HGPLAIN and HGPLAINEXCEPT
they are already introduced by
09049042ab99
- write assignment and exporting in one line
"ENV=val; export ENV" for two or more environment variables in one
line causes failure of test-check-code-hg.t: it is recognized as
"don't export and assign at once" unfortunately.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 30 Apr 2015 23:02:52 -0400] rev 24891
debuginstall: expand the editor path before searching for it (
issue4380)
The editor launches without expanding the path with commits because the shell
does that for us.
If the path isn't an executable, the expanded path is displayed, which is
probably more useful than the unexpanded path. For example, in cmd.exe, '~'
expands to C:\Users\$user. But it expands to C:/mingw/msys/1.0/home/$user in
MinGW.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 01 May 2015 22:19:20 +0900] rev 24890
censor: fix incorrect configuration name for ignoring error at censored file
According to recent "filectx.data()" implementation, "censor.policy"
should be configured as "ignore" to ignore error at censored file:
"censor.allow" seems outdated name.
Matt Mackall <mpm@selenic.com> [Thu, 30 Apr 2015 17:50:50 -0500] rev 24889
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 30 Apr 2015 19:12:28 +0900] rev 24888
i18n-ja: synchronized with
194207694def
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 29 Apr 2015 16:43:02 -0300] rev 24887
i18n-pt_BR: synchronized with
89fe9921511f
Ryan McElroy <rmcelroy@fb.com> [Thu, 30 Apr 2015 12:33:36 -0700] rev 24886
templater: fail more gracefully for blank strings to word
Matt Harbison <matt_harbison@yahoo.com> [Wed, 29 Apr 2015 21:14:59 -0400] rev 24885
windows: make shellquote() quote any path containing '\' (
issue4629)
The '~' in the bug report is being expanded to a path with Windows style slashes
before being passed to shellquote() via util.shellquote(). But shlex.split()
strips '\' out of the string, leaving an invalid path in dispatch.aliasargs().
This regressed in
1642eb429536.
For now, the tests need to be conditionalized for Windows (because those paths
are quoted). In the future, a more complex regex could probably skip the quotes
if all component separators are double '\'. I opted to glob away the quotes in
test-rename-merge2.t and test-up-local-change.t (which only exist on Windows),
because they are in very large blocks of output and there are way too many diffs
to conditionalize with #if directives. Maybe the entire path should be globbed
away like the following paths in each changed line. Or, letting #if directives
sit in the middle of the output as was mentioned a few months back would work
too.
Unfortunately, I couldn't figure out how to test the specific bug. All of the
'hg serve' tests have a #require serve declaration, causing them to be skipped
on Windows. Adding an alias for 'expandtest = outgoing ~/bogusrepo' prints the
repo as '$TESTTMP/bogusrepo', so the test runner must be changing the
environment somehow.
Matt Harbison <matt_harbison@yahoo.com> [Wed, 29 Apr 2015 23:55:25 -0400] rev 24884
test-commit-interactive: add more globs for no-execbit platforms
The ability to set the exec bit on Windows would be real handy for this test..
Siddharth Agarwal <sid0@fb.com> [Thu, 30 Apr 2015 07:46:54 -0700] rev 24883
ui: disable revsetaliases in plain mode (BC)
ui.plain() is supposed to disable config options that change the UI to the
detriment of scripts. As the test demonstrates, revset aliases can actually
override builtin ones, just like command aliases. Therefore I believe this is a
bugfix and appropriate for stable.