mercurial/commands.py
changeset 536 c15b4bc0a11c
parent 535 fba26990604a
child 537 411e05b04ffa
equal deleted inserted replaced
535:fba26990604a 536:c15b4bc0a11c
    37         return time.asctime(time.gmtime(float(c[2].split(' ')[0])))
    37         return time.asctime(time.gmtime(float(c[2].split(' ')[0])))
    38 
    38 
    39     if node2:
    39     if node2:
    40         change = repo.changelog.read(node2)
    40         change = repo.changelog.read(node2)
    41         mmap2 = repo.manifest.read(change[0])
    41         mmap2 = repo.manifest.read(change[0])
    42         (c, a, d) = repo.diffrevs(node1, node2)
    42         (c, a, d, u) = repo.changes(node1, node2)
    43         def read(f): return repo.file(f).read(mmap2[f])
    43         def read(f): return repo.file(f).read(mmap2[f])
    44         date2 = date(change)
    44         date2 = date(change)
    45     else:
    45     else:
    46         date2 = time.asctime()
    46         date2 = time.asctime()
    47         (c, a, d, u) = repo.diffdir(path, node1)
    47         (c, a, d, u) = repo.changes(None, node1, path)
    48         if not node1:
    48         if not node1:
    49             node1 = repo.dirstate.parents()[0]
    49             node1 = repo.dirstate.parents()[0]
    50         def read(f): return repo.wfile(f).read()
    50         def read(f): return repo.wfile(f).read()
    51 
    51 
    52     if ui.quiet:
    52     if ui.quiet:
   122                                           hg.hex(changes[0])))
   122                                           hg.hex(changes[0])))
   123     ui.status("user:        %s\n" % changes[1])
   123     ui.status("user:        %s\n" % changes[1])
   124     ui.status("date:        %s\n" % time.asctime(
   124     ui.status("date:        %s\n" % time.asctime(
   125         time.localtime(float(changes[2].split(' ')[0]))))
   125         time.localtime(float(changes[2].split(' ')[0]))))
   126     if ui.debugflag:
   126     if ui.debugflag:
   127         files = repo.diffrevs(changelog.parents(changenode)[0], changenode)
   127         files = repo.changes(changelog.parents(changenode)[0], changenode)
   128         for key, value in zip(["files:", "files+:", "files-:"], files):
   128         for key, value in zip(["files:", "files+:", "files-:"], files):
   129             if value:
   129             if value:
   130                 ui.note("%-12s %s\n" % (key, " ".join(value)))
   130                 ui.note("%-12s %s\n" % (key, " ".join(value)))
   131     else:
   131     else:
   132         ui.note("files:       %s\n" % " ".join(changes[3]))
   132         ui.note("files:       %s\n" % " ".join(changes[3]))
   212             if s != 'r' and not isfile:
   212             if s != 'r' and not isfile:
   213                 d.append(f)
   213                 d.append(f)
   214             elif s not in 'nmai' and isfile:
   214             elif s not in 'nmai' and isfile:
   215                 u.append(f)
   215                 u.append(f)
   216     else:
   216     else:
   217         (c, a, d, u) = repo.diffdir(repo.root)
   217         (c, a, d, u) = repo.changes(None, None)
   218     repo.add(u)
   218     repo.add(u)
   219     repo.remove(d)
   219     repo.remove(d)
   220 
   220 
   221 def annotate(u, repo, file, *files, **ops):
   221 def annotate(u, repo, file, *files, **ops):
   222     """show changeset information per file line"""
   222     """show changeset information per file line"""
   445     if not parents:
   445     if not parents:
   446         ui.write("unknown\n")
   446         ui.write("unknown\n")
   447         return
   447         return
   448 
   448 
   449     hexfunc = ui.verbose and hg.hex or hg.short
   449     hexfunc = ui.verbose and hg.hex or hg.short
   450     (c, a, d, u) = repo.diffdir(repo.root)
   450     (c, a, d, u) = repo.changes(None, None)
   451     output = ["%s%s" % ('+'.join([hexfunc(parent) for parent in parents]),
   451     output = ["%s%s" % ('+'.join([hexfunc(parent) for parent in parents]),
   452                         (c or a or d) and "+" or "")]
   452                         (c or a or d) and "+" or "")]
   453 
   453 
   454     if not ui.quiet:
   454     if not ui.quiet:
   455         # multiple tags for a single parent separated by '/'
   455         # multiple tags for a single parent separated by '/'
   643     C = changed
   643     C = changed
   644     A = added
   644     A = added
   645     R = removed
   645     R = removed
   646     ? = not tracked'''
   646     ? = not tracked'''
   647 
   647 
   648     (c, a, d, u) = repo.diffdir(os.getcwd())
   648     (c, a, d, u) = repo.changes(None, None, os.getcwd())
   649     (c, a, d, u) = map(lambda x: relfilter(repo, x), (c, a, d, u))
   649     (c, a, d, u) = map(lambda x: relfilter(repo, x), (c, a, d, u))
   650 
   650 
   651     for f in c: print "C", f
   651     for f in c: print "C", f
   652     for f in a: print "A", f
   652     for f in a: print "A", f
   653     for f in d: print "R", f
   653     for f in d: print "R", f
   658 
   658 
   659     if name == "tip":
   659     if name == "tip":
   660 	ui.warn("abort: 'tip' is a reserved name!\n")
   660 	ui.warn("abort: 'tip' is a reserved name!\n")
   661 	return -1
   661 	return -1
   662 
   662 
   663     (c, a, d, u) = repo.diffdir(repo.root)
   663     (c, a, d, u) = repo.changes(None, None)
   664     for x in (c, a, d, u):
   664     for x in (c, a, d, u):
   665 	if ".hgtags" in x:
   665 	if ".hgtags" in x:
   666 	    ui.warn("abort: working copy of .hgtags is changed!\n")
   666 	    ui.warn("abort: working copy of .hgtags is changed!\n")
   667             ui.status("(please commit .hgtags manually)\n")
   667             ui.status("(please commit .hgtags manually)\n")
   668 	    return -1
   668 	    return -1