mercurial/commands.py
changeset 1320 5f277e73778f
parent 1319 5a15df632e6a
child 1321 b47f96a178a3
equal deleted inserted replaced
1319:5a15df632e6a 1320:5f277e73778f
    27 def relpath(repo, args):
    27 def relpath(repo, args):
    28     cwd = repo.getcwd()
    28     cwd = repo.getcwd()
    29     if cwd:
    29     if cwd:
    30         return [util.normpath(os.path.join(cwd, x)) for x in args]
    30         return [util.normpath(os.path.join(cwd, x)) for x in args]
    31     return args
    31     return args
    32 
       
    33 def datestr(change=None):
       
    34     if change is None:
       
    35         t = time.time()
       
    36         if time.daylight: tz = time.altzone
       
    37         else: tz = time.timezone
       
    38     else:
       
    39         t, tz = change[2].split(' ')
       
    40         try:
       
    41             # a conversion tool was sticking non-integer offsets into repos
       
    42             tz = int(tz)
       
    43         except ValueError:
       
    44             tz = 0
       
    45     return time.asctime(time.gmtime(float(t) - tz)) + " %+05d" % (int(tz)/-36)
       
    46 
    32 
    47 def matchpats(repo, cwd, pats=[], opts={}, head=''):
    33 def matchpats(repo, cwd, pats=[], opts={}, head=''):
    48     return util.matcher(repo.root, cwd, pats or ['.'], opts.get('include'),
    34     return util.matcher(repo.root, cwd, pats or ['.'], opts.get('include'),
    49                         opts.get('exclude'), head)
    35                         opts.get('exclude'), head)
    50 
    36 
   276         return
   262         return
   277 
   263 
   278     if node2:
   264     if node2:
   279         change = repo.changelog.read(node2)
   265         change = repo.changelog.read(node2)
   280         mmap2 = repo.manifest.read(change[0])
   266         mmap2 = repo.manifest.read(change[0])
   281         date2 = datestr(change)
   267         date2 = util.datestr(change)
   282         def read(f):
   268         def read(f):
   283             return repo.file(f).read(mmap2[f])
   269             return repo.file(f).read(mmap2[f])
   284     else:
   270     else:
   285         date2 = datestr()
   271         date2 = util.datestr()
   286         if not node1:
   272         if not node1:
   287             node1 = repo.dirstate.parents()[0]
   273             node1 = repo.dirstate.parents()[0]
   288         def read(f):
   274         def read(f):
   289             return repo.wfile(f).read()
   275             return repo.wfile(f).read()
   290 
   276 
   294         hexfunc = ui.verbose and hex or short
   280         hexfunc = ui.verbose and hex or short
   295         r = [hexfunc(node) for node in [node1, node2] if node]
   281         r = [hexfunc(node) for node in [node1, node2] if node]
   296 
   282 
   297     change = repo.changelog.read(node1)
   283     change = repo.changelog.read(node1)
   298     mmap = repo.manifest.read(change[0])
   284     mmap = repo.manifest.read(change[0])
   299     date1 = datestr(change)
   285     date1 = util.datestr(change)
   300 
   286 
   301     for f in c:
   287     for f in c:
   302         to = None
   288         to = None
   303         if f in mmap:
   289         if f in mmap:
   304             to = repo.file(f).read(mmap[f])
   290             to = repo.file(f).read(mmap[f])
   331     if ui.quiet:
   317     if ui.quiet:
   332         ui.write("%d:%s\n" % (rev, short(changenode)))
   318         ui.write("%d:%s\n" % (rev, short(changenode)))
   333         return
   319         return
   334 
   320 
   335     changes = log.read(changenode)
   321     changes = log.read(changenode)
   336     date = datestr(changes)
   322     date = util.datestr(changes)
   337 
   323 
   338     parents = [(log.rev(p), ui.verbose and hex(p) or short(p))
   324     parents = [(log.rev(p), ui.verbose and hex(p) or short(p))
   339                for p in log.parents(changenode)
   325                for p in log.parents(changenode)
   340                if ui.debugflag or p != nullid]
   326                if ui.debugflag or p != nullid]
   341     if not ui.debugflag and len(parents) == 1 and parents[0][0] == rev-1:
   327     if not ui.debugflag and len(parents) == 1 and parents[0][0] == rev-1: