Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:06:07 -0600] rev 13256
mq: avoid using revlog.nodemap unnecessarily
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:01:14 -0600] rev 13255
perf: make perfindex results useful on hg with lazyparser
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 17:01:04 -0600] rev 13254
revlog: only build the nodemap on demand
Matt Mackall <mpm@selenic.com> [Tue, 04 Jan 2011 14:12:52 -0600] rev 13253
revlog: remove lazy index
Matt Mackall <mpm@selenic.com> [Tue, 11 Jan 2011 14:58:17 -0600] rev 13252
merge with i18n
Martin Geisler <mg@aragost.com> [Tue, 04 Jan 2011 12:16:32 +0100] rev 13251
i18n-da: synchronized with
f3058dd05281
Mads Kiilerich <mads@kiilerich.com> [Tue, 11 Jan 2011 02:48:58 +0100] rev 13250
merge with stable
Yuya Nishihara <yuya@tcha.org> [Sun, 09 Jan 2011 00:35:36 +0900] rev 13249
url: check subjectAltName when verifying ssl certificate
Now it verifies certificate in the same manner as py3k implementation:
http://svn.python.org/view/python/branches/py3k/Lib/ssl.py?view=markup#match_hostname
Yuya Nishihara <yuya@tcha.org> [Sat, 08 Jan 2011 21:52:25 +0900] rev 13248
url: fix UnicodeDecodeError on certificate verification error
SSLSocket.getpeercert() returns tuple containing unicode for 'subject'.
Since Mercurial does't support IDN at all, it just returns error for non-ascii
certname.
Steve Borho <steve@borho.org> [Sat, 08 Jan 2011 22:15:19 -0600] rev 13247
merge with stable
Pascal Quantin <pascal.quantin@gmail.com> [Sat, 08 Jan 2011 11:18:38 +0100] rev 13246
win32: add cacert.pem file to Inno Setup installer
Adrian Buehlmann <adrian@cadifra.com> [Fri, 07 Jan 2011 19:15:21 +0100] rev 13245
test-mq-subrepo.t: skip test if svn not installed
Patrick Mezard <pmezard@gmail.com> [Fri, 07 Jan 2011 20:50:42 +0100] rev 13244
mail: fix regression when parsing unset smtp.tls option
Patrick Mezard <pmezard@gmail.com> [Fri, 07 Jan 2011 20:50:41 +0100] rev 13243
bash_completion: support record command
Kevin Bullock <kbullock@ringworld.org> [Tue, 04 Jan 2011 11:33:47 -0600] rev 13242
subrepo: fix svnsubrepo.dirty() checking of ignoreupdate (
issue2499)
The ignoreupdate flag to subrepo.dirty(), introduced in
be7e8e9bc5e5, is
correctly checked with this change.
Patrick Mezard <pmezard@gmail.com> [Fri, 07 Jan 2011 17:44:23 +0100] rev 13241
test-mq-subrepo.t: correctly forward stdin to test functions
- stdin was not forwarded in testrm1 and testrm2
- Forwarding content with EOL using command substitution (`foo`) does not work
correctly, the lines are joined together which breaks the prompt readline.
- EOFError is raised in ui.prompt() if the input is too short on Linux while
OSX treats it as an empty line.
Matt Mackall <mpm@selenic.com> [Thu, 06 Jan 2011 17:04:47 -0600] rev 13240
filelog: move metadata parsing to a helper function
Matt Mackall <mpm@selenic.com> [Thu, 06 Jan 2011 17:04:41 -0600] rev 13239
revlog: break hash checking into subfunction
Matt Mackall <mpm@selenic.com> [Thu, 06 Jan 2011 17:04:33 -0600] rev 13238
ui: add configpath helper
John Coomes <john.coomes@oracle.com> [Wed, 29 Dec 2010 18:29:15 -0800] rev 13237
tests: check visibility of pending changesets
Verify that pending changesets are seen by pretxn* hooks but not by other
processes that access the destination repo while the hooks are running.
timeless <timeless@gmail.com> [Sun, 02 Jan 2011 18:51:59 +0200] rev 13236
progress: handle days, weeks and years
using hg clone svn://anonsvn.kde.org/home/kde/trunk kde ... with progress
yields 3008/1210830 1314h56m, which is unusable.
Add code to switch to days at 30 hours, to weeks at 15 days, and to years
at 55 weeks. A day has 24 hours, a week has 7 days, and a year has 52 weeks.
Months are intentionally omitted because they do not have a fixed length. The
Use of 52 weeks is a known and understandable estimate for a year.
It might make sense to spell our year to alert people when progress is
impractical, but...
Adrian Buehlmann <adrian@cadifra.com> [Sun, 02 Jan 2011 19:34:41 +0100] rev 13235
rename util.unlink to unlinkpath
Martin Geisler <mg@aragost.com> [Wed, 05 Jan 2011 15:56:03 +0100] rev 13234
merge with stable
Oleg Stepanov <oleg.stepanov@jetbrains.com> [Tue, 04 Jan 2011 03:53:11 -0800] rev 13233
subrepo: do not report known files inside repositories as unknown
Martin Geisler <mg@aragost.com> [Wed, 05 Jan 2011 10:57:52 +0100] rev 13232
hgrc.5: mention that web.cacerts are run through util.expandpath
Eduard-Cristian Stefan <alexandrul.ct@gmail.com> [Sun, 02 Jan 2011 15:30:12 +0200] rev 13231
url: expand path for web.cacerts
Martin Geisler <mg@aragost.com> [Wed, 05 Jan 2011 10:47:35 +0100] rev 13230
commands: clarify which aliases "hg help -v" show (
issue2572)
Steve Borho <steve@borho.org> [Fri, 31 Dec 2010 17:09:38 -0600] rev 13229
mq: record more data in patchheader class (no behavior changes)
* parse branch and nodeid header lines
* remember the line number where diffs started
Combined, these make mq.patchheader() very useful for parsing and
preserving a patch header through edits. TortoiseHg will use the
nodeid and parent to display these header datums in the graph when
patches are unapplied, and uses diffstartline to parse patch files
using record.parsepatch().
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:42:04 -0600] rev 13228
merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:24:18 -0600] rev 13227
Added signature for changeset
e3bf16703e26
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:24:10 -0600] rev 13226
Added tag 1.7.3 for changeset
e3bf16703e26
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Dec 2010 21:59:00 +0900] rev 13225
util: fix ellipsis() not to break multi-byte sequence (
issue2564)
It tries to convert localstr to unicode before truncating.
Because we cannot assume that the given text is encoded in local encoding,
it falls back to raw string in case of unicode error.
Jacek Sowiński <mruwek.gentoo@vcf.pl> [Fri, 31 Dec 2010 15:14:51 +0100] rev 13224
strip: typo bugfix related to '--nobackup -> --no-backup' rename (
issue2377)
'--no-backup' in cmdline means *'no_backup'* in code'
Matt Mackall <mpm@selenic.com> [Sat, 01 Jan 2011 18:15:17 -0600] rev 13223
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 28 Dec 2010 18:02:50 -0200] rev 13222
i18n-pt_BR: synchronized with
aa72ff5abf5f
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 28 Dec 2010 17:58:14 -0200] rev 13221
merge with i18n stable
Jens Bäckman <jens.backman@gmail.com> [Tue, 21 Dec 2010 09:26:59 +0100] rev 13220
i18n-sv: synchronized with
d4393968318f
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 20 Dec 2010 19:57:12 -0200] rev 13219
i18n/pt_BR.po: synchronized with
2fa2e6444645
Steve Borho <steve@borho.org> [Thu, 23 Dec 2010 15:12:24 -0600] rev 13218
match: support reading pattern lists from files
Steve Borho <steve@borho.org> [Thu, 30 Dec 2010 23:36:50 -0600] rev 13217
merge with stable
Steve Borho <steve@borho.org> [Wed, 29 Dec 2010 18:27:56 -0600] rev 13216
wix: add an ssl certificate file to the WiX installers
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 15:31:25 -0600] rev 13215
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 15:23:16 -0600] rev 13214
hgweb: abort if config file isn't found
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 14:19:44 -0600] rev 13213
merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 14:19:31 -0600] rev 13212
date: fix matching of underspecified date ranges
(backport of
91bc001a592f to stable)
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 14:04:47 -0600] rev 13211
date: fix matching of underspecified date ranges
In a date like 10:30, there are two underspecified ends: the specific
end (seconds) and the broad end (day, month, year). When matching
"10:30", we need to allow the specific end to go from 0 to 59 seconds,
while the broad end is assumed to be today's date.
Similar handling applies for a date range like "Mar 1": year is fixed
to today, any time matches.
Matt Mackall <mpm@selenic.com> [Wed, 29 Dec 2010 11:18:27 -0600] rev 13210
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Dec 2010 12:08:20 +0100] rev 13209
test-static-http.t: increase test coverage on filenames
Tracked files starting with a period in the name begin with '~2e' in the
store for the dotencode repository format, which is encoded as '%7E2e' in
URLs when accessing the repo over static-http.
The spaces in filenames are encoded with %20 in URLs.
See also issue 2566.
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Dec 2010 11:59:07 +0100] rev 13208
test-static-http.t: get kill actually working
- signal handlers take two arguments, not one
- add missing import sys
Before this patch, the
$ kill $!
at the end of the test just caused a hidden traceback, sys.exit(0) was not
executed.
The swallowed traceback was:
Traceback (most recent call last):
File "dumb.py", line 10, in <module>
run()
File "dumb.py", line 7, in run
httpd.serve_forever()
File "/usr/lib/python2.6/SocketServer.py", line 224, in serve_forever
r, w, e = select.select([self], [], [], poll_interval)
TypeError: <lambda>() takes exactly 1 argument (2 given)
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:22:00 +0100] rev 13207
hooks: sort any dictionaries set in the environment
The actual order of dictionary items is implementation-defined in
Python, and differs between CPython and PyPy. With this change,
test-hooks.t passes with PyPy.
Adrian Buehlmann <adrian@cadifra.com> [Mon, 27 Dec 2010 01:12:31 +0100] rev 13206
windows.rename: eliminate temp name race (
issue2571)
On Windows, os.rename reliably raises OSError with errno.EEXIST if the
destination already exists (even on shares served by Samba).
Windows does *not* silently overwrite the destination of a rename.
So there is no need to first call os.path.exists on the chosen temp path.
Trusting os.path.exists is actually harmful, since using it enables the
following racy sequence of actions:
1) os.path.exists(temp) returns False
2) some evil other process creates a file with name temp
3) os.rename(dst, temp) now fails because temp has been taken
Not using os.path.exists and directly trying os.rename(dst, temp)
eliminates this race.
Matt Mackall <mpm@selenic.com> [Tue, 28 Dec 2010 13:31:30 -0600] rev 13205
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Mon, 13 Dec 2010 22:38:06 +0100] rev 13204
checknlink: use two testfiles (
issue2543)
Preventing file loss repository corruption (e.g. vanished changelog.i) when
Mercurial pushes to repositories on Windows shares served by Samba.
This is a workaround for Samba bug 7863, which is present in current latest
stable Samba 3.5.6 and various prior versions down to 3.0.26a (the oldest one
I tested).
Of course this should be fixed in Samba, but there probably aren't that many
other applications who use hardlinks that extensively and keep files open like
Mercurial, so the pressure to fix this on Samba is probably not that high. And
even if the Samba project should be able to fix their bug within a month or
two, it will take quite some time until users upgrade their Samba installs.
John Peberdy <john@peberdy.ca> [Sun, 19 Dec 2010 21:49:54 -0500] rev 13203
help: correct documentation for branches keyword
Yuya Nishihara <yuya@tcha.org> [Fri, 24 Dec 2010 01:17:18 +0900] rev 13202
notify: use util.ellipsis() to truncate long subject
Zhigang Wang <zhigang.x.wang@oracle.com> [Mon, 20 Dec 2010 16:56:54 +0800] rev 13201
smtp: fix for server doesn't support starttls extension
Currently we only support enabling TLS by using SMTP STARTTLS extension. But
not all the servers support it.
With this patch, user can choose which way to enable TLS:
* Default:
tls = none
port = 25
* To use STARTTLS:
tls = starttls
port = 465
* To use SMTP over SSL:
tls = smtps
port = 465
To keep backward compatibility, when tls = true, we use STARTTLS to enable TLS.
Signed-off-by: Zhigang Wang <w1z2g3@gmail.com>
David Soria Parra <dsp@php.net> [Thu, 02 Dec 2010 03:43:06 +0100] rev 13200
avoid .split() in for loops and use tuples instead
split can be more readable for longer lists like the list in
dirstate.invalidate. As dirstate.invalidate is used in wlock() and therefoe
used heavily, I think it's worth avoiding a split there too.
Oli Thissen <oli@tonick.net> [Mon, 06 Dec 2010 16:56:06 +0100] rev 13199
hgweb: added revision date to annotate line data
The only revision information yielded by the annotate view was the revision
number itself. The patch allows the use of per-line revision dates in the
corresponding templates.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 21 Dec 2010 19:44:28 +0900] rev 13198
patchbomb: save introductory message in .hg/last-email.txt
Jim Hague <jim.hague@acm.org> [Fri, 17 Dec 2010 12:05:45 +0000] rev 13197
opener: forbid paths ending with directory separator (
issue2507)
If Linux is asked to open a filename with a trailing directory separator,
e.g. "foo/", the open fails with EISDIR. On AIX, the open succeeds, opening
file "foo". This causes test-mq-qnew to fail on AIX.
Fix by adding 'ends with directory separator' to the conditions checked
by the path auditor. Change test to expect auditor fail message.
Kevin Bullock <kbullock@ringworld.org> [Tue, 21 Dec 2010 15:27:58 -0600] rev 13196
record: clean up command table
The --force option to qnew has become a no-op, so qrecord doesn't need
to use it. This allows record's command table to be simplified; in the
process of doing so, this patch also cleans up the cmdtable visually.
Kevin Bullock <kbullock@ringworld.org> [Tue, 21 Dec 2010 15:23:48 -0600] rev 13195
record: clean up comments and docstrings
Rewrap comments and docstrings to a width of 72 chars and copy-edit.
Patrick Mezard <pmezard@gmail.com> [Tue, 28 Dec 2010 14:53:08 +0100] rev 13194
test-doctest: test url.py again, removed by
7cc4263e07a9
Mads Kiilerich <mads@kiilerich.com> [Mon, 27 Dec 2010 17:54:45 +0100] rev 13193
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Mon, 27 Dec 2010 17:49:58 +0100] rev 13192
https: use web.cacerts configuration from local repo to validate remote repo
Mads Kiilerich <mads@kiilerich.com> [Sun, 26 Dec 2010 00:43:49 +0100] rev 13191
extensions: warn about invalid extensions when listing disabled commands
Invalid extensions in hgext/ could in some cases cause a crash when searching
for unknown commands in disabled extensions.
With this change we issue a warning if extracting commands from the extensions
fails. Traceback is available on request.
Reported on https://bugzilla.redhat.com/show_bug.cgi?id=663183 with forest.py.
Steve Borho <steve@borho.org> [Wed, 22 Dec 2010 13:25:00 -0600] rev 13190
convert: subversion should use util.quotecommand to wrap args to popen2
All other callers of util.popen2 and util.popen3 do this, as well as direct
callers of subprocess.Popen.
Steve Borho <steve@borho.org> [Thu, 23 Dec 2010 13:23:20 -0600] rev 13189
merge with stable
Steve Borho <steve@borho.org> [Wed, 22 Dec 2010 13:25:00 -0600] rev 13188
util: concentrate quoting knowledge to windows.py quotecommand()
This fixes all callers of util.quotecommand() and place special knowledge
of the bugfix in 2.7.1 in a single platform specific place.
Matt Mackall <mpm@selenic.com> [Wed, 22 Dec 2010 13:16:03 -0600] rev 13187
templater: clarify engine caching
Matt Mackall <mpm@selenic.com> [Wed, 22 Dec 2010 13:16:00 -0600] rev 13186
merge with crew
Nicolas Dumazet <nicdumz.commits@gmail.com> [Tue, 21 Dec 2010 19:47:36 +0900] rev 13185
tests: clean up test-rollback.t
The last comment is on the last file line and is useless, seems
like it was introduced in
8fdc11fec6ae during unification.
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 15:27:15 -0600] rev 13184
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 15:26:36 -0600] rev 13183
url: fix trailing whitespace
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13182
subrepo: basic support for status of git subrepos
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13181
subrepo: fix subrelpath for git subrepos
This patch conforms gitsubrepo code to the variable naming scheme of the other
subrepo implementations. All user-facing path references should be relative
to the root repository.
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13180
subrepo: fix git archive parsing of directories and symfiles
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:33 -0500] rev 13179
subrepo: support ignoreupdate in gitsubrepo's dirty()
Eric Eisner <ede@mit.edu> [Mon, 20 Dec 2010 13:59:19 -0500] rev 13178
subrepo: backout
519ac79d680b
Unfortunately git 1.6 does not support the upstream parameter in for-each-ref.
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:12:18 -0600] rev 13177
url: fix check-code whitespace complaint
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:09:00 -0600] rev 13176
templater: use the parser.py parser to extend the templater syntax
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:09:00 -0600] rev 13175
templater: give slightly nicer error for unknown map entries
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 22:14:43 -0600] rev 13174
mq: update .hgsubstate if subrepos are clean (
issue2499)
This patch prevents MQ from creating an inconsistent subrepo state. If
the .hgsub file has been changed, and none of the subrepos have
uncommitted changes, creating or updating a patch (using qnew, qrefresh,
or qrecord) will update .hgsubstate accordingly.
If any subrepos _do_ have uncommitted changes, qnew/qrefresh/qrecord
will abort.
Thanks to pmezard for proposing this solution.
Kevin Bullock <kbullock@ringworld.org> [Tue, 07 Dec 2010 22:14:43 -0600] rev 13173
Erik Zielke <ez@aragost.com> [Fri, 17 Dec 2010 13:38:15 +0100] rev 13172
subrepo: backout
f02d7a562a21
backing out
f02d7a562a21 because it introduced a bug in
.hgsubstate handling.
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:08:56 -0600] rev 13171
merge with i18n
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:08:50 -0600] rev 13170
merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Fri, 17 Dec 2010 10:40:26 +0100] rev 13169
fncachestore: copy dh directory before the manifest
Before this patch, the copy order on clone was:
requires
00changelog.i
store\data
store\00manifest.d
store\00manifest.i
store\00changelog.d
store\00changelog.i
store\dh
store\fncache
Which provides a theoretical non-zero probability of a race during clone where
a very early reader might see a repository with missing revlog files if it sees
00changelog.i before all files inside dh have been copied.
The dh directory is similar to the data directory -- just for files with long
names (which are hashed). The manifest refers to files in data *and* dh, so dh
should be copied before the manifest.
This patch improves the copy order to:
requires
00changelog.i
store\data
store\dh
store\fncache
store\00manifest.d
store\00manifest.i
store\00changelog.d
store\00changelog.i
I'm putting fncache to before the manifest while I'm at it, since fncache
provides a mechanism to enumerate all repository files without visiting the
manifest revisions. fncache depends only on data and dh.
Note that data must be copied first, since copying data triggers the creation
of the repository write lock in the destination repo (see hg.clone).
Matt Mackall <mpm@selenic.com> [Mon, 20 Dec 2010 12:05:50 -0600] rev 13168
merge with i18n
Martin Geisler <mg@aragost.com> [Fri, 10 Dec 2010 12:51:37 +0100] rev 13167
i18n: merge with stable
Martin Geisler <mg@aragost.com> [Fri, 10 Dec 2010 12:48:57 +0100] rev 13166
i18n-da: synchronize with
5dac0d04b838
Arne Babenhauserheide <arne@draketo.de> [Sat, 04 Dec 2010 19:28:15 +0100] rev 13165
i18n-de: translated strings for the purge extension
Mads Kiilerich <mads@kiilerich.com> [Sat, 18 Dec 2010 22:06:11 +0100] rev 13164
merge with stable
Mads Kiilerich <mads@kiilerich.com> [Sat, 18 Dec 2010 21:58:52 +0100] rev 13163
https: warn when server certificate isn't verified
Mercurial will verify HTTPS server certificates if web.cacerts is configured,
but it will by default silently not verify any certificates.
We now warn the user that when the certificate isn't verified she won't get the
security she might expect from https:
warning: localhost certificate not verified (check web.cacerts config setting)
Self-signed certificates can be accepted silently by configuring web.cacerts to
point to a suitable certificate file.
Greg Ward <greg-hg@gerg.ca> [Mon, 13 Dec 2010 11:46:31 -0500] rev 13162
merge: document some internal return values.
Matt Mackall <mpm@selenic.com> [Thu, 16 Dec 2010 14:50:37 -0600] rev 13161
check-code: catch os.path.relpath