Unify display of dates.
We now use one function, commands.datestr, to display dates, instead
of calling time.asctime in inconsistent ways.
--- a/mercurial/commands.py Thu Sep 22 21:15:57 2005 -0700
+++ b/mercurial/commands.py Thu Sep 22 21:29:02 2005 -0700
@@ -30,6 +30,20 @@
return [util.normpath(os.path.join(cwd, x)) for x in args]
return args
+def datestr(change=None):
+ if change is None:
+ t = time.time()
+ if time.daylight: tz = time.altzone
+ else: tz = time.timezone
+ else:
+ t, tz = change[2].split(' ')
+ try:
+ # a conversion tool was sticking non-integer offsets into repos
+ tz = int(tz)
+ except ValueError:
+ tz = 0
+ return time.asctime(time.gmtime(float(t) - tz)) + " %+05d" % (int(tz)/-36)
+
def matchpats(repo, cwd, pats=[], opts={}, head=''):
return util.matcher(repo.root, cwd, pats or ['.'], opts.get('include'),
opts.get('exclude'), head)
@@ -251,9 +265,6 @@
def dodiff(fp, ui, repo, node1, node2, files=None, match=util.always,
changes=None, text=False):
- def date(c):
- return time.asctime(time.gmtime(float(c[2].split(' ')[0])))
-
if not changes:
(c, a, d, u) = repo.changes(node1, node2, files, match=match)
else:
@@ -267,11 +278,11 @@
if node2:
change = repo.changelog.read(node2)
mmap2 = repo.manifest.read(change[0])
- date2 = date(change)
+ date2 = datestr(change)
def read(f):
return repo.file(f).read(mmap2[f])
else:
- date2 = time.asctime()
+ date2 = datestr()
if not node1:
node1 = repo.dirstate.parents()[0]
def read(f):
@@ -285,7 +296,7 @@
change = repo.changelog.read(node1)
mmap = repo.manifest.read(change[0])
- date1 = date(change)
+ date1 = datestr(change)
for f in c:
to = None
@@ -322,14 +333,7 @@
return
changes = log.read(changenode)
-
- t, tz = changes[2].split(' ')
- # a conversion tool was sticking non-integer offsets into repos
- try:
- tz = int(tz)
- except ValueError:
- tz = 0
- date = time.asctime(time.gmtime(float(t) - tz)) + " %+05d" % (int(tz)/-36)
+ date = datestr(changes)
parents = [(log.rev(p), ui.verbose and hex(p) or short(p))
for p in log.parents(changenode)