Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 21:20:44 +0200] rev 14013
merge with stable
Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 21:11:28 +0200] rev 14012
test-transplant: fix missing file addition
Steven Brown <StevenGBrown@gmail.com> [Mon, 25 Apr 2011 18:00:30 +0800] rev 14011
tests: add script to disable a selected wire protocol capability
This can be used to test that the client and server both fall back to the
previous wire protocol when the capability is not supported.
It is currently used by test-push-http.t and I plan to use it for the HTTP
long argument support tests.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 25 Apr 2011 14:03:12 +0200] rev 14010
mq: prevent traceback when qfinish patches not in series.
When mq status entry referencing a patches that is not in series `hg qfinish
-a` used to issue a traceback. This states is inconsistent but might happen
regularly when people misuse hg up -mq.
This changeset prevent hg from crashing. The faulty entry is finished anyway and
a warning is issued.
Idan Kamara <idankk86@gmail.com> [Mon, 25 Apr 2011 13:03:26 +0300] rev 14009
check-code: separate warnings to avoid repetitive str.startswith
Greg Ward <greg@gerg.ca> [Sun, 24 Apr 2011 17:30:50 -0400] rev 14008
atomictempfile: rewrite docstring to clarify rename() vs. close().
Greg Ward <greg@gerg.ca> [Sun, 24 Apr 2011 19:25:10 -0400] rev 14007
atomictempfile: avoid infinite recursion in __del__().
The problem is that a programmer using atomictempfile directly can
make an innocent everyday mistake -- not enough args to the
constructor -- which escalates badly. You would expect a simple
TypeError crash in that case, but you actually get an infinite
recursion that is surprisingly difficult to kill: it happens between
__del__() and __getattr__(), and Python does not handle infinite
recursion from __del__() well.
The fix is to not implement __getattr__(), but instead assign instance
attributes for the methods we wish to delegate to the builtin file
type: write() and fileno(). I've audited mercurial.* and hgext.* and
found no users of atomictempfile using methods other than write() and
rename(). I audited third-party extensions and found one (snap)
passing an atomictempfile to util.fstat(), so I also threw in
fileno().
The last time I submitted a similar patch, Matt proposed that we make
atomictempfile a subclass of file instead of wrapping it. Rejected on
grounds of unnecessary complexity: for one thing, it would make the
Windows implementation of posixfile quite a bit more complex. It would
have to become a subclass of file rather than a simple function -- but
since it's written in C, this is non-obvious and non-trivial.
Furthermore, there's nothing wrong with wrapping objects and
delegating methods: it's a well-established pattern that works just
fine in many cases. Subclassing is not the answer to all of life's
problems.
Patrick Mezard <pmezard@gmail.com> [Mon, 25 Apr 2011 18:42:31 +0200] rev 14006
run-tests: display diff before prompting with --interactive
Idan Kamara <idankk86@gmail.com> [Sat, 23 Apr 2011 00:52:21 +0300] rev 14005
check-code: warn about naked except clauses
Idan Kamara <idankk86@gmail.com> [Sat, 23 Apr 2011 00:51:25 +0300] rev 14004
eliminate various naked except clauses
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 17:52:46 -0500] rev 14003
run-tests: fix some missing i/o locks
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:46:37 -0500] rev 14002
run-tests: add a lock for console I/O
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:15 -0500] rev 14001
run-tests: switch timeout handling from alarm to helper thread
This should be slightly more portable than signals and be compatible
with threaded dispatch.
Matt Mackall <mpm@selenic.com> [Sun, 24 Apr 2011 16:42:11 -0500] rev 14000
run-tests: add locking on results struct
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:33:48 +0200] rev 13999
run-tests: fix --interactive (after 994ad067ac6e)
- Do not prompt if there is no .err file
- Fix source and target paths
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:06:19 +0200] rev 13998
color: code simplification
Patrick Mezard <pmezard@gmail.com> [Sun, 24 Apr 2011 23:06:18 +0200] rev 13997
test-status-color: fix terminfo code compatibility problem
On a linux host in xterm mode, 'none' is translated to:
\x1b[m\x1b(B
While it is the following on osx:
\x1b(B\x1b[m
Take advantage of the new color.color.X option to force it to a common value.
Andreas Freimuth <andreas.freimuth@united-bits.de> [Fri, 22 Apr 2011 16:43:06 +0200] rev 13996
hg-ssh: fix duplicate word in docstring
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 14:04:34 -0500] rev 13995
run-tests: move test loop into a helper function
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 12:24:22 -0500] rev 13994
run-tests: use a results dict
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:36:40 -0500] rev 13993
run-tests: move blacklist and retest filtering to runone
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:32:05 -0500] rev 13992
run-tests: keep a list of passed tests
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:24:27 -0500] rev 13991
run-tests: move keyword checking into runone
Matt Mackall <mpm@selenic.com> [Fri, 22 Apr 2011 11:22:02 -0500] rev 13990
run-tests: add ignores list
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 18:38:30 -0500] rev 13989
run-tests: move existence/name format check into runone
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 18:19:45 -0500] rev 13988
run-tests: move interactive handling into runone
Danek Duvall <duvall@comfychair.org> [Thu, 21 Apr 2011 13:47:45 -0700] rev 13987
color: add support for terminfo-based attributes and color
Using terminfo instead of hard-coding ECMA-48 control sequences provides a
greater assurance that the terminal codes are correct for the current
terminal type; not everything supports the ANSI escape codes.
It also allows us to use a wider range of colors when a terminal emulator
supports it (such as 16- or 256-color xterm), and a few more non-color
attributes, such as the ever-popular blink.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Apr 2011 21:16:54 +0200] rev 13986
move system_rcpath and user_rcpath to scmutil
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Apr 2011 20:54:45 +0200] rev 13985
move os_rcpath from util to scmutil
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Apr 2011 20:14:29 +0200] rev 13984
move rcpath from util to scmutil
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 15:11:28 -0500] rev 13983
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 15:11:19 -0500] rev 13982
merge with i18n
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 15:10:59 -0500] rev 13981
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 19 Apr 2011 12:00:22 -0300] rev 13980
i18n-pt_BR: synchronized with 1416b9118540
Martin Geisler <mg@lazybytes.net> [Tue, 19 Apr 2011 09:46:45 +0200] rev 13979
i18n: merge with stable
Martin Geisler <mg@lazybytes.net> [Tue, 19 Apr 2011 09:46:24 +0200] rev 13978
i18n-da: synchronize with 1184bb274cb3
Martin Krüger <martin.krueger@gmx.com> [Tue, 19 Apr 2011 09:30:42 +0200] rev 13977
i18n-de: improve grammar
Matt Mackall <mpm@selenic.com> [Thu, 21 Apr 2011 15:08:48 -0500] rev 13976
win32: Wine doesn't know about hardlinks
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Apr 2011 16:06:19 +0200] rev 13975
move walkrepos from util to scmutil
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Apr 2011 13:18:52 +0200] rev 13974
move checkfilename from util to scmutil
checkfilename is specific to Mercurial, since it contains the knowledege
that Mercurial can't track files with \n or \r in the name.
Adrian Buehlmann <adrian@cadifra.com> [Thu, 21 Apr 2011 12:10:03 +0200] rev 13973
scmutil: fix erroneous Abort call
This fixes d13913355390 (affected Windows only).
Adrian Buehlmann <adrian@cadifra.com> [Wed, 20 Apr 2011 22:43:31 +0200] rev 13972
move path_auditor from util to scmutil
Adrian Buehlmann <adrian@cadifra.com> [Wed, 20 Apr 2011 21:41:41 +0200] rev 13971
move canonpath from util to scmutil
Adrian Buehlmann <adrian@cadifra.com> [Wed, 20 Apr 2011 19:54:57 +0200] rev 13970
move opener from util to scmutil
Patrick Mezard <pmezard@gmail.com> [Wed, 20 Apr 2011 23:30:07 +0200] rev 13969
merge with stable
Patrick Mezard <pmezard@gmail.com> [Wed, 20 Apr 2011 23:15:18 +0200] rev 13968
convert: make filemap prune useless branch closing revs (issue2774)
A branch closing revision only applies if one of its parents belongs to the
branch being closed. Otherwise the filemap can prune it too.
Matt Mackall <mpm@selenic.com> [Wed, 20 Apr 2011 14:28:40 -0500] rev 13967
dispatch: improve repository not found message
This should help clarify what the problem is in various problematic
cases like ssh.
Steven Stallion <sstallion@gmail.com> [Wed, 20 Apr 2011 00:01:50 -0400] rev 13966
hgweb: support disabling page cache
By default, hgweb_mod supports caching via the ETag header. This can
cause some confusion with browsers which cache aggressively. This change
preserves existing behavior while giving the administrator a knob to
disable the ETag header.
Matt Mackall <mpm@selenic.com> [Wed, 20 Apr 2011 12:44:32 -0500] rev 13965
merge with stable
Steven Stallion <sstallion@gmail.com> [Tue, 19 Apr 2011 23:37:06 -0400] rev 13964
hgweb: support alternate logo url
Clicking on the logo image/text in the hgweb interface brings the
user to the Mercurial project page. The majority of users expect that
this would bring them to the top level index. I have added a new template
variable named `logourl' which allows an administrator to change this
behavior. To stay compatible with existing behavior, `logourl' will
default to http://mercurial.selenic.com/. This change is very useful in
large installations where jumping to the index is common.
Kevin Bullock <kbullock@ringworld.org> [Tue, 19 Apr 2011 13:33:43 -0500] rev 13963
identify: further clarification of help
Following on to 1416b9118540, correct a minor grammar issue, re-wrap to
72 columns, and further clarify wording.
Adrian Buehlmann <adrian@cadifra.com> [Tue, 19 Apr 2011 12:42:53 +0200] rev 13962
add: introduce a warning message for non-portable filenames (issue2756) (BC)
On POSIX platforms, the 'add', 'addremove', 'copy' and 'rename' commands now
warn if a file has a name that can't be checked out on Windows.
Example:
$ hg add con.xml
warning: filename contains 'con', which is reserved on Windows: 'con.xml'
$ hg status
A con.xml
The file is added despite the warning.
The warning is ON by default. It can be suppressed by setting the config option
'portablefilenames' in section 'ui' to 'ignore' or 'false':
$ hg --config ui.portablefilenames=ignore add con.xml
$ hg sta
A con.xml
If ui.portablefilenames is set to 'abort', then the command is aborted:
$ hg --config ui.portablefilenames=abort add con.xml
abort: filename contains 'con', which is reserved on Windows: 'con.xml'
On Windows, the ui.portablefilenames config setting is irrelevant and the
command is always aborted if a problematic filename is found.
Adrian Buehlmann <adrian@cadifra.com> [Tue, 19 Apr 2011 14:56:47 +0200] rev 13961
paper: use monospace font for description
Idan Kamara <idankk86@gmail.com> [Tue, 19 Apr 2011 14:56:46 +0300] rev 13960
update: fix check for no rev when a date is given
The previous check caught a corner case in which rev
was pointing to 0.
Martin Geisler <mg@lazybytes.net> [Tue, 19 Apr 2011 15:19:54 +0200] rev 13959
merge with stable
Martin Geisler <mg@lazybytes.net> [Tue, 19 Apr 2011 15:15:56 +0200] rev 13958
hgweb: detect change based on changelog size too
Before, there was a race between an access and a modification made
within the same second.
Martin Geisler <mg@lazybytes.net> [Tue, 19 Apr 2011 13:25:19 +0200] rev 13957
rollback: lower-case warning issued when branch cannot be reset
Also improved the word order.
Martin Geisler <mg@lazybytes.net> [Tue, 19 Apr 2011 12:04:44 +0200] rev 13956
tests: remove redundant mkdir
There are still many tests that check that a bare 'hg init'
initializes the current directory.
Martin Geisler <mg@lazybytes.net> [Mon, 18 Apr 2011 13:57:22 +0200] rev 13955
help config: explain that config files do not exist by default
Inspired by critique given on StackOverflow where a user writes:
I can have a good guess at what "%USERPROFILE%" might signify but
none of the files listed in the "hg help config" output exist after
running the installer. Previous experience would suggest that
missing files mean something somewhere has gone seriously wrong.
http://stackoverflow.com/questions/2329023/2351139#2351139
Matt Mackall <mpm@selenic.com> [Mon, 18 Apr 2011 20:52:08 -0500] rev 13954
merge with stable
Idan Kamara <idankk86@gmail.com> [Tue, 19 Apr 2011 01:08:35 +0300] rev 13953
identify: restructure code to make it more readable
Idan Kamara <idankk86@gmail.com> [Tue, 19 Apr 2011 00:41:47 +0300] rev 13952
identify/help: say what the command does first, mention bookmarks
Adrian Buehlmann <adrian@cadifra.com> [Sun, 17 Apr 2011 21:34:25 +0200] rev 13951
templatefilters: improve person() for john.doe@example.com
BEFORE: person('john.doe@example.com') -> 'john'
AFTER: person('john.doe@example.com') -> 'john doe'
Adrian Buehlmann <adrian@cadifra.com> [Sun, 17 Apr 2011 11:37:11 +0200] rev 13950
help: do not show full help text for command on option errors
Example
$ hg clone --jump foo bar
hg clone: option --jump not recognized
hg clone [OPTION]... SOURCE [DEST]
make a copy of an existing repository
options:
-U --noupdate the clone will include an empty working copy (only a
repository)
-u --updaterev REV revision, tag or branch to check out
-r --rev REV [+] include the specified changeset
-b --branch BRANCH [+] clone only the specified branch
--pull use pull protocol to copy metadata
--uncompressed use uncompressed transfer (fast over LAN)
-e --ssh CMD specify ssh command to use
--remotecmd CMD specify hg command to run on the remote side
--insecure do not verify server certificate (ignoring
web.cacerts config)
[+] marked option can be specified multiple times
use "hg help clone" to show the full help text
Motivation for this change
If the user already has specified the command, he probably already knows
the command to some extent. Apparently, he has a problem with the options,
so we show him just the synopsis with the short help and the details about
the options, with a hint on the last line how to get the full help text.
Why is Mercurial better with this change?
Experts who just forgot about the details of an option don't get that
much text thrown at them, while the newbies still get a hint on the last
line how to get the full help text.