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.
Adrian Buehlmann <adrian@cadifra.com> [Sun, 17 Apr 2011 17:55:34 +0200] rev 13949
store: add some doctests
Adrian Buehlmann <adrian@cadifra.com> [Sun, 17 Apr 2011 01:44:09 +0200] rev 13948
paper: don't add breaks on the remaining instances of desc
fixes
ebe1ddbbefd7
Adrian Buehlmann <adrian@cadifra.com> [Sat, 16 Apr 2011 20:08:43 +0200] rev 13947
checkwinfilename: use %r in format string
Steven Brown <StevenGBrown@gmail.com> [Sun, 17 Apr 2011 02:15:47 +0800] rev 13946
tests: new test cases for the unbundlehash capability
Adrian Buehlmann <adrian@cadifra.com> [Fri, 15 Apr 2011 16:15:32 +0200] rev 13945
copy: do not copy file if name is disallowed anyway
Adrian Buehlmann <adrian@cadifra.com> [Fri, 15 Apr 2011 16:15:30 +0200] rev 13944
util: new function checkfilename
checkfilename checks for restrictions on filenames imposed by Mercurial
itself, irrespective of on what platform it is run.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 15 Apr 2011 16:15:28 +0200] rev 13943
opener: use %r in format string for abort
Shuhei Takahashi <takahashi.shuhei@gmail.com> [Sat, 16 Apr 2011 01:05:56 +0900] rev 13942
wireproto: allow unbundle with hashed heads parameter (
issue2126)
Current wire protocol of unbundle sends the list of all heads in the remote
repository to avoid race condition. This causes "URL too long" error on HTTP
server when the repository has many heads.
This change allows clients to send SHA1 hash of sorted head hashes instead.
Also, this introduces "unbundlehash" capability to inform them that the server
accepts hashed heads parameter.
Matt Mackall <mpm@selenic.com> [Fri, 15 Apr 2011 23:46:59 -0500] rev 13941
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 15 Apr 2011 23:45:41 -0500] rev 13940
encoding: avoid localstr when a string can be encoded losslessly (
issue2763)
localstr's hash method exists to prevent bogus matching on lossy local
encodings. For instance, we don't want 'caf?' to match 'café' in an
ASCII locale.
But when café can be losslessly encoded in the local charset, we can
simply use a normal string and avoid the hashing trick.
This avoids using localstr's hash method, which would prevent a match between
Matt Mackall <mpm@selenic.com> [Fri, 15 Apr 2011 20:35:59 -0500] rev 13939
merge with stable
Idan Kamara <idankk86@gmail.com> [Fri, 15 Apr 2011 20:07:44 +0300] rev 13938
revset: optimize stringset when subset == entire repo
if range(len(repo)) is passed to stringset and x is a valid rev
(checked before) then x is guaranteed to be in subset, we can check
for that by comparing the lengths of the sets
Idan Kamara <idankk86@gmail.com> [Fri, 15 Apr 2011 16:35:32 +0300] rev 13937
help/revset: fix grammar