A Scalable, User-Friendly Source Control System.
Go to file
Adrian Buehlmann a5a62b9b6f 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)
2010-11-23 13:11:40 +01:00
contrib *: kill all unnecessary shebangs. 2010-10-26 12:18:39 +02:00
doc *: kill all unnecessary shebangs. 2010-10-26 12:18:39 +02:00
hgext keyword: s/config/configuration/ in help 2010-11-22 16:05:31 +01:00
i18n i18n-pt_BR: synchronized with 5eb521b5ff4c 2010-11-14 23:28:44 -02:00
mercurial util.datestr: do not crash on revisions with negative timestamp (issue2513) 2010-11-23 13:11:40 +01:00
tests rebase: support --detach when null is common ancestor 2010-11-20 09:51:56 +01:00
.hgignore Ignore mercurial.egg-info build output 2010-06-18 10:45:40 -07:00
.hgsigs Added signature for changeset 20f253441723 2010-11-15 10:55:54 -06:00
CONTRIBUTORS Add note to CONTRIBUTORS file 2007-11-07 21:10:30 -06:00
COPYING Add COPYING 2005-06-17 09:32:13 -08:00
hg setup/hg: handle hg being a symlink when appending relative libdir to sys.path 2010-10-21 09:58:22 -07:00
hgeditor Fixed a bashism with the use of $RANDOM in hgeditor. 2010-05-19 18:06:35 +02:00
hgweb.cgi *: add executable bit to a few files that were missing it. 2010-10-26 12:18:37 +02:00
Makefile i18n: extract docstrings from revset module 2010-10-26 23:07:14 -02:00
README README: add small introduction 2010-10-27 12:05:37 +02:00
setup.py *: kill all unnecessary shebangs. 2010-10-26 12:18:39 +02:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install:

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

See http://mercurial.selenic.com/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.