Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 221:2bfe525ef6ca
Beginning of multi-head support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Beginning of multi-head support
Add revlog.heads()
Add heads command to list changeset heads
manifest hash: 50df6fffe59a40c19782e2c77c8077db026fde67
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCn7tFywK+sNU5EO8RAusWAJ9EojIxgqEEt8VZd5S+5Laj8tHV+ACfWLb5
TC7AnsoFGg50jAWF0EsofDA=
=nzyH
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Thu, 02 Jun 2005 18:07:01 -0800 |
parents | 3113a94c1bff |
children | f57519cddd3d |
comparison
equal
deleted
inserted
replaced
220:3113a94c1bff | 221:2bfe525ef6ca |
---|---|
1 import os, re, traceback, sys, signal | 1 import os, re, traceback, sys, signal, time |
2 from mercurial import fancyopts, ui, hg | 2 from mercurial import fancyopts, ui, hg |
3 | 3 |
4 class UnknownCommand(Exception): pass | 4 class UnknownCommand(Exception): pass |
5 | 5 |
6 def filterfiles(list, files): | 6 def filterfiles(list, files): |
120 pieces.append([ "%*s" % (m, x) for x in l]) | 120 pieces.append([ "%*s" % (m, x) for x in l]) |
121 | 121 |
122 for p,l in zip(zip(*pieces), lines): | 122 for p,l in zip(zip(*pieces), lines): |
123 u.write(" ".join(p) + ": " + l[1]) | 123 u.write(" ".join(p) + ": " + l[1]) |
124 | 124 |
125 def heads(ui, repo): | |
126 '''show current repository heads''' | |
127 for n in repo.changelog.heads(): | |
128 i = repo.changelog.rev(n) | |
129 changes = repo.changelog.read(n) | |
130 (p1, p2) = repo.changelog.parents(n) | |
131 (h, h1, h2) = map(hg.hex, (n, p1, p2)) | |
132 (i1, i2) = map(repo.changelog.rev, (p1, p2)) | |
133 print "rev: %4d:%s" % (i, h) | |
134 print "parents: %4d:%s" % (i1, h1) | |
135 if i2: print " %4d:%s" % (i2, h2) | |
136 print "manifest: %4d:%s" % (repo.manifest.rev(changes[0]), | |
137 hg.hex(changes[0])) | |
138 print "user:", changes[1] | |
139 print "date:", time.asctime( | |
140 time.localtime(float(changes[2].split(' ')[0]))) | |
141 if ui.verbose: print "files:", " ".join(changes[3]) | |
142 print "description:" | |
143 print changes[4] | |
144 | |
125 def status(ui, repo): | 145 def status(ui, repo): |
126 '''show changed files in the working directory | 146 '''show changed files in the working directory |
127 | 147 |
128 C = changed | 148 C = changed |
129 A = added | 149 A = added |
141 repo.undo() | 161 repo.undo() |
142 | 162 |
143 table = { | 163 table = { |
144 "init": (init, [], 'hg init'), | 164 "init": (init, [], 'hg init'), |
145 "branch|clone": (branch, [], 'hg branch [path]'), | 165 "branch|clone": (branch, [], 'hg branch [path]'), |
166 "heads": (heads, [], 'hg heads'), | |
146 "help": (help, [], 'hg help [command]'), | 167 "help": (help, [], 'hg help [command]'), |
147 "checkout|co": (checkout, [], 'hg checkout [changeset]'), | 168 "checkout|co": (checkout, [], 'hg checkout [changeset]'), |
148 "ann|annotate": (annotate, | 169 "ann|annotate": (annotate, |
149 [('r', 'revision', '', 'revision'), | 170 [('r', 'revision', '', 'revision'), |
150 ('u', 'user', None, 'show user'), | 171 ('u', 'user', None, 'show user'), |