Jim Hague <jim.hague@acm.org> [Tue, 30 Apr 2013 14:56:33 +0100] rev 19092
tests: AIX can't handle negative date in test-dirstate.t
test-dirstate.t fails on AIX in the absurd date test. AIX touch errors on
any date prior to 1970. AIX mktime() gives an error on such dates, so the
problem is deeper than touch and attempts to work around touch in Python
failed.
Give up. Add an AIX test to hghave and skip the absurd date test on AIX.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Apr 2013 01:12:03 +0900] rev 19091
win32: use explicit path to "python.exe" only if it exists
Before this patch, "hg.bat" for Windows environment always uses
"%~dp0..\python" as explicit path to "python.exe".
This path may not be valid in some cases.
For example, on the environment using "virtualenv" python package,
both "python.exe" and "hg.bat" are placed in the same directory. In
this case, "python.exe" should be found on PATH, because virtualenv
activation script puts "python.exe" on the PATH.
This patch uses explicit path to "python.exe" only if it exists, and
expects that "python.exe" can be found on PATH otherwise.
Siddharth Agarwal <sid0@fb.com> [Fri, 26 Apr 2013 22:07:25 -0700] rev 19090
test-mq-strip.t: add a test for strip --keep with clean working dir
This helped uncover a bug in a patchset I've been writing.
Mads Kiilerich <madski@unity3d.com> [Sat, 27 Apr 2013 00:41:42 +0200] rev 19089
largefiles: use repo.wwrite for writing standins (
issue3909)
Mads Kiilerich <madski@unity3d.com> [Fri, 26 Apr 2013 19:04:01 +0200] rev 19088
largefiles: drop repo wrapping detection
After
257afe5489d4 I see:
$ hg id -q
largefiles: repo method 'commit' appears to have already been wrapped by another extension: largefiles may behave incorrectly
largefiles: repo method 'push' appears to have already been wrapped by another extension: largefiles may behave incorrectly
be207d9b7e4b
The warning is bad:
* The message gives no hint what the problem is and how it can be resolved.
The message is useless.
* Largefiles do have its share of problems, but I don't think I ever have seen
a problem where this warning would have helped. The 'may' in the warning
seems like an exaggeration of the risk. Having largefiles enabled in
combination with for instance mq, hggit and hgsubversion causes a warning
(depending on the configuration order) but do not cause problems. Extensions
might of course be incompatible, but they can be that in many other ways.
The check and the message are incorrect.
It would thus be better to remove the check and the warning completely.
Before
257afe5489d4 the check always failed. That change made the check work
more like intended ... but the intention was wrong. This change will thus also
back that change out.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Apr 2013 23:36:12 +0900] rev 19087
config: discard "%unset" values defined in the other files read in previously
Before this patch, "%unset" can't unset values defined in the other
files read in previously, even though online help document says that
it can. It can unset only values defined in the same configuration
file.
For example, the value defined in "~/.hgrc" can't be unset by "%unset"
in ".hg/hgrc" of the repository.
This patch records "%unset"-ed values in "config.parse()", and
discards corresponding values in "config.update()".
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 26 Apr 2013 23:16:25 +0900] rev 19086
tests: rename from test-config-case.t to test-config.t for centralization
Before this patch, there is no test script testing configuration
handling generally. "test-config-case.t" seems to be specific for
testing case sensitive configuration.
This patch renames from "test-config-case.t" to "test-config.t" for
centralization of tests around configuration handling.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 25 Apr 2013 20:48:49 +0900] rev 19085
i18n: show the non-ASCII password prompt text correctly
Before this patch, the prompt text for asking password is directly
passed to "getpass.getpass()" of Python standard library.
In "getpass.getpass()" implementation on Windows environment, the
prompt text is split into byte sequence and "msvcrt.putch()" is
applied on each bytes in it. This splitting causes non-ASCII prompt
text to be broken.
This patch shows the prompt text for asking password on "ui.getpass()"
side, and invokes "getpass.getpass()" with empty prompt text. This
prevents non-ASCII prompt text from being broken in
"getpass.getpass()" implementation.
This patch also sets "ui.prompt" label to prompt text to follow
"ui.prompt()" style.
Kevin Bullock <kbullock@ringworld.org> [Tue, 23 Apr 2013 17:26:00 -0500] rev 19084
tests: make sed usage in test-unionrepo.t cross-platform
Usage of the 'i' command proves tricky. I tried to write a check-code rule, but
failed.
Kevin Bullock <kbullock@ringworld.org> [Tue, 23 Apr 2013 16:57:51 -0500] rev 19083
check-code: fix sed 'i' command rule newline matching
The regular expression was meant to match cases where an 'i' command was
not followed by precisely a '\' and then a newline; it failed to match
the newline, so cases with a '\' but no newline would erroneously pass.
Durham Goode <durham@fb.com> [Mon, 22 Apr 2013 18:00:59 -0700] rev 19082
blackbox: don't run permission tests on non-unix systems
The windows and vfat test runs were failing due to read/write permissions not
working the same on those systems. On vfat, permissions can't be changed
at all, and on windows it seems the chmod emulation doesn't remove read
permissions. We could theoretically get the 'cannot write to blacklog.log'
test to pass on windows but there's no #if condition to let us exclude vfat
only.
Verified that test-blackbox passes on windows now.
Kevin Bullock <kbullock@ringworld.org> [Mon, 22 Apr 2013 16:50:08 -0500] rev 19081
check-code: expand sed rule to include more offenders
Expands the rule added in
5e4491c114b2 to include cases where the
address is a line number instead of a regular expression, and fixes an
instance of this pattern in test-unionrepo.t.
Kevin Bullock <kbullock@ringworld.org> [Mon, 22 Apr 2013 16:33:28 -0500] rev 19080
check-code: add a rule against a GNU sed-ism
BSD sed requires the 'i' command to be followed with a backslash and a
newline, like so:
$ sed -e '/^@/i\
> other'
We've encountered this problem before, e.g. in test-mq.t (
900767dfa80d).
This change adds a check-code rule and fixes two instances of the
problem in test-record.t.
Alexander Plavin <me@aplavin.ru> [Mon, 22 Apr 2013 12:27:56 +0400] rev 19079
hgweb: make help verbose again (
issue3899)
Due to regression introduced in
f5db3092790f, help in hgweb
was rendered in non-verbose form (
issue3899)
Matt Mackall <mpm@selenic.com> [Sun, 21 Apr 2013 17:33:51 -0500] rev 19078
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Sat, 20 Apr 2013 19:01:36 -0300] rev 19077
i18n-pt_BR: synchronized with
64ea454e7d76
Alexander Plavin <me@aplavin.ru> [Sat, 20 Apr 2013 16:46:38 +0400] rev 19076
css: remove repeated property
'margin' property was repeated for the same selector
Alexander Plavin <me@aplavin.ru> [Sat, 20 Apr 2013 22:09:17 +0400] rev 19075
css: fixed font-family
There is no 'sans' font-family, replaced with 'sans-serif'
Siddharth Agarwal <sid0@fb.com> [Fri, 19 Apr 2013 22:03:59 -0700] rev 19074
color: add a test with extension loaded and ui.formatted=False
Siddharth Agarwal <sid0@fb.com> [Fri, 19 Apr 2013 16:57:10 -0700] rev 19073
color: set _colormode to None when mode is unset (
issue3895)
Previously, colorui assumed that it would only be called when mode wasn't
None.
7ae12ce87594 changed that, so now colorui needs to care about whether it
should colorize output.
Siddharth Agarwal <sid0@fb.com> [Fri, 19 Apr 2013 16:57:20 -0700] rev 19072
color: turn colorui functions into forwards when color is None
colorui will be set to None as necessary in an upcoming patch.
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 19 Apr 2013 18:26:35 -0300] rev 19071
largefiles: fix typos in documentation
Durham Goode <durham@fb.com> [Fri, 19 Apr 2013 10:55:11 -0700] rev 19070
translations: change label integer error to not specify the kind of label
The current error message used the kind (bookmark, branch, tag) in the message.
Unfortunately this isn't easily translatable since some languages give different
genders to these words. The fix is to not specify it at all, since it should be
implicit based on the command the user just ran.
Relevant discussions around this area:
http://selenic.com/pipermail/mercurial-devel/2012-October/045567.html
http://selenic.com/pipermail/mercurial-devel/2012-October/045600.html
Matt Mackall <mpm@selenic.com> [Thu, 18 Apr 2013 23:50:15 -0500] rev 19069
Added signature for changeset
292cd385856d
Matt Mackall <mpm@selenic.com> [Thu, 18 Apr 2013 23:50:08 -0500] rev 19068
Added tag 2.6-rc for changeset
292cd385856d
Matt Mackall <mpm@selenic.com> [Thu, 18 Apr 2013 23:46:26 -0500] rev 19067
merge default int stable for 2.6 code freeze
Bryan O'Sullivan <bryano@fb.com> [Thu, 18 Apr 2013 16:17:59 -0700] rev 19066
blackbox: automatically rotate log files
If enabled, log rotation prevents the amount of space used by the
blackbox log from growing without bound. This becomes important in
cases where there are a lot of busy repositories managed by humans
and automation on many machines.
In large deployments, we cannot reasonably track all the repos where
blackbox logs need to be managed, so it is safer to have blackbox
manage its own logs than to move responsibility to an external tool
such as logrotate.
This change adds two configuration keys:
* blackbox.maxsize is the maximum allowable size of the current log
* blackbox.maxfiles is the number of log files to maintain
Bryan O'Sullivan <bryano@fb.com> [Thu, 18 Apr 2013 12:58:28 -0700] rev 19065
ui: add a configbytes method, for space configuration
This accepts a floating point number, followed by optional whitespace,
followed by an optional one- or two-letter unit specifier (for
bytes, kilobytes, megabytes, or gigabytes).
Simon Heimberg <simohe@besonet.ch> [Thu, 18 Apr 2013 23:53:39 +0200] rev 19064
mq: do not inherit settings form base repo in mqrepo (Fixes
issue2358)
This is done by using repo.baseui when creating the queue repo.
Simon Heimberg <simohe@besonet.ch> [Thu, 18 Apr 2013 23:53:24 +0200] rev 19063
color: set the ui class in reposetup, before a repo is created
Previously only the class of repo.ui was set. The class was set in the wrapper
of dispatch._runcommand. But this is called after the repo is created. Only
the class of repo.ui is set because repo.baseui already exists and is not
accessible.
We now set the class in uisetup because this is called before repo creation.
This is also the place suggested in the wiki for modifying classes.
André Sintzoff <andre.sintzoff@gmail.com> [Thu, 18 Apr 2013 20:28:38 +0200] rev 19062
parsers: remove warning: format ‘%ld’ expects argument of type ‘long int’
gcc 4.6.3 on 12.04 Ubuntu machine emits warnings:
mercurial/parsers.c: In function ‘find_deepest’:
mercurial/parsers.c:1288:9: warning: format ‘%ld’ expects argument of type
‘long int’, but argument 3 has type ‘Py_ssize_t’ [-Wformat]
mercurial/parsers.c:1288:9: warning: format ‘%ld’ expects argument of type
‘long int’, but argument 4 has type ‘Py_ssize_t’ [-Wformat]
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 18 Apr 2013 19:50:04 +0900] rev 19061
annotate: discard refcount of discarded annotation for memory efficiency
Before this patch, refcount (managed in "needed") of the annotation
result is kept as 1, even if corresponding annotation result is
discarded from "hist", because it isn't decreased and discarded.
In the history tree including merging revision, the most recent common
ancestor of merged revisions is scanned twice. Refcount of such
ancestor never becomes 0, because refcount is started from 1 at the
second scanning.
This prevents annotation results of merging revision in "hist" from
being discarded, and decreases memory efficiency.
This patch discards refcount of the annotation result, when the
corresponding annotation is discarded from "hist".
Alexander Plavin <me@aplavin.ru> [Thu, 18 Apr 2013 16:46:09 +0400] rev 19060
revlog: fix a regression with null revision
Introduced in the patch which fixes
issue3497
Part of that patch was erroneously submitted and it shouldn't be in the code
Siddharth Agarwal <sid0@fb.com> [Thu, 18 Apr 2013 14:28:06 -0700] rev 19059
rebase: check no-op before checking phase (
issue3891)
This could lead to user confusion, because phases aren't really involved at
all when attempting to perform a no-op rebase.
Sean Farley <sean.michael.farley@gmail.com> [Wed, 10 Apr 2013 19:27:49 -0500] rev 19058
template: call runtemplate on the src argument to sub
This allows using a template keyword on calls to the sub function and brings
the function inline with most other semantics of the other template functions.
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:34 +0200] rev 19057
run-tests: introduce --random for running tests in random error
This is convenient when investigating failures one by one to avoid running the
same fixed tests first every time.
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:11 +0200] rev 19056
largefiles: wlock in status before lfdirstate.write()
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 19:31:59 +0200] rev 19055
transplant: use set for prune lookup
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 11:47:49 +0200] rev 19054
obsolete: extract obsolescence marker pulling into a dedicated function
Having a dedicated function will allow us to experiment with other exchange
strategies in an extension. As we have no solid clues about how to do it right,
being able to experiment is vital.
Some transaction tricks are necessary for pull. But nothing too scary.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 11:18:36 +0200] rev 19053
obsolete: extract obsolescence marker pushing into a dedicated function
Having a dedicated function will allows us to experiment with other exchange
strategies in an extension. As we have no solid clues about how to do it right,
being able to experiment is vital.
I intended a more ambitious extraction of push logic, but we are far too
advanced in the release cycle for it.
Bryan O'Sullivan <bryano@fb.com> [Thu, 18 Apr 2013 12:55:58 -0700] rev 19052
blackbox: fix a case of name capture
Yuya Nishihara <yuya@tcha.org> [Fri, 19 Apr 2013 01:34:21 +0900] rev 19051
pathencode: eliminate comma at end of enum list to avoid pedantic warning
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 19 Apr 2013 01:26:23 +0900] rev 19050
smtp: use 465 as default port for SMTPS
Before this patch, port 25 (wellknown port of SMTP) is used as default
port, even if "[smtp] tls" is configured as "smtps".
This patch uses port 465 (wellknown port of SMTPS) as default port, if
"[smtp] tls" is configured as "smtps".
Kevin Bullock <kbullock@ringworld.org> [Thu, 21 Feb 2013 21:05:06 +0000] rev 19049
subrepo: fix test breakage introduced in
2b34d004e644
The test didn't break when I originally committed it (git version
1.7.12.4 (Apple Git-37)), and still doesn't on that machine, but the
output changes elsewhere with "Warning: you are leaving N commits
behind..."
This change sets a ref on the commit we're updating the subrepo _away_
from to quash the warning.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:27:50 +0200] rev 19048
histedit: more precise user message when changeset is missing
Now that we explicitly detect duplicated changesets, we can explicitly
detect missing ones. We cover the same cases as before, some others
and we offer a better error message in all cases.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:22:24 +0200] rev 19047
histedit: protect against duplicated entries
Before this change one would issue rules with duplicated entries. For
this to happen some other changeset had to be missing to maintain the
rules length.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:13:35 +0200] rev 19046
histedit: track short hash instead of changectx object
This simplifies set usage and allow us to add a missing revision check
in a later commit.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:10:01 +0200] rev 19045
histedit: ensure rules return short hex at all time
Handling homogeneous data is both simpler and safer.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:51:27 +0200] rev 19044
histedit-test: test unknown command
We had no tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:50:59 +0200] rev 19043
histedit-test: test unknown changeset
We had no tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:49:32 +0200] rev 19042
histedit-test: test malformed line
We had not tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:54:31 -0400] rev 19041
histedit-test: test that extra revisions are detected
We had not tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:53:58 -0400] rev 19040
histedit-test: test that missing revisions are detected
We had not tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:52:34 -0400] rev 19039
histedit: handle multiple spaces between action and hash (
issue3893)
There is some clue that the previous code intended to handle that but it was
actually not the case.
As a result action could apply to the empty string '' changeset,
leading to the use the current working directory parent in some
operations.
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 15:00:23 -0800] rev 19038
http2: sane readline
It turns out that it pays off to read more than a byte at a time with
a select in between :)
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 14:41:35 -0800] rev 19037
http2: make read use pushchunk/popchunk, eschew itertools
The itertools approach was showing up high in the profile output.
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 14:41:33 -0800] rev 19036
http2: track available data as it changes instead of recomputing it
With a large amount of available data, this computation can become
costly.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:38:49 +0200] rev 19035
histedit-test: rename histedit-revspec into histedit-argument
We have no testing for argument. This small file seems perfect once but needs a
rename.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:35:43 +0200] rev 19034
histedit-test: remove unnecessary graphlog extension
Graphlog is now in core.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:34:43 +0200] rev 19033
histedit-test: drop skip logic for older mercurial version
We are shipped in core now.