Steve Borho <steve@borho.org> [Wed, 24 Nov 2010 13:43:40 -0600] rev 13040
Merge with stable
Adrian Buehlmann <adrian@cadifra.com> [Tue, 23 Nov 2010 13:11:40 +0100] rev 13039
util.datestr: do not crash on revisions with negative timestamp (issue2513)
Python's time.gmtime(lt) fails on Windows, producing a traceback with
ValueError: (22, 'Invalid argument')
if lt < -43200.
We get a local time boundary value of -43200 if we take "the epoch"
Thu Jan 01 00:00:00 1970 = time.gmtime(0)
from timezone 'UTC+0' into timezone 'UTC-12'. All other timezones will have
larger local time values for that point in time.
Aborting with a traceback on 'hg log' for revisions with a timestamp value
< -43200 is clearly not acceptable.
Returning "invalid timestamp" or similar as string representation is not an
option either, since that may crash other tools which parse the output of
'hg log'.
Instead, we teach util.datestr() to return the epoch in timezone UTC+0 on
*all platforms*, represented by the string
Thu Jan 01 00:00:00 1970 +0000
if the timestamp's unix time value is negative.
(based on a patch originally proposed by Benjamin Pollack)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 23 Nov 2010 22:53:47 +0100] rev 13038
checknlink: return False if .hgtmp file preexists (issue2517)
If os_link fails on Windows, errno is always errno.EINVAL,
so we can't really say if the testlink could not be created
because (a) the FS doesn't support hardlinks or (b) there
is a leaked .hgtmp file lying around from a previous crashed
run.
So let's err on the safe side, keep the code simple and assume
we can't detect hardlinks in both cases.
Martin Geisler <mg@aragost.com> [Wed, 24 Nov 2010 13:25:12 +0100] rev 13037
localrepo: move string formatting out of gettext call
Matt Mackall <mpm@selenic.com> [Mon, 22 Nov 2010 13:11:46 -0600] rev 13036
merge with stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 16 Nov 2010 13:06:07 -0600] rev 13035
mq: ignore subrepos (issue2499)
If MQ allows modifying .hgsub or .hgsubstate in a patch, it can easily
lead to an inconsistent subrepo state. This patch prevents qrefresh from
adding any modifications to .hgsub or .hgsubstate to a patch. The user
is warned that these files are not included in the patch.
The tests test both the slightly irrational and the pathological cases.