changeset 312 | 09375250eb31 |
parent 310 | 273f6a01d18b |
child 317 | b18ce742566a |
311:3b17056b72dc | 312:09375250eb31 |
---|---|
30 if os.getcwd() != repo.root: |
30 if os.getcwd() != repo.root: |
31 p = os.getcwd()[len(repo.root) + 1: ] |
31 p = os.getcwd()[len(repo.root) + 1: ] |
32 return [ os.path.normpath(os.path.join(p, x)) for x in args ] |
32 return [ os.path.normpath(os.path.join(p, x)) for x in args ] |
33 return args |
33 return args |
34 |
34 |
35 def dodiff(repo, files = None, node1 = None, node2 = None): |
35 def dodiff(repo, path, files = None, node1 = None, node2 = None): |
36 def date(c): |
36 def date(c): |
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) |
42 (c, a, d) = repo.diffrevs(node1, node2) |
42 (c, a, d) = repo.diffrevs(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(repo.root, node1) |
47 (c, a, d, u) = repo.diffdir(path, node1) |
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 file(os.path.join(repo.root, f)).read() |
50 def read(f): return file(os.path.join(repo.root, f)).read() |
51 |
51 |
52 change = repo.changelog.read(node1) |
52 change = repo.changelog.read(node1) |
222 if files: |
222 if files: |
223 files = relpath(repo, files) |
223 files = relpath(repo, files) |
224 else: |
224 else: |
225 files = relpath(repo, [""]) |
225 files = relpath(repo, [""]) |
226 |
226 |
227 dodiff(repo, files, *revs) |
227 dodiff(repo, os.getcwd(), files, *revs) |
228 |
228 |
229 def export(ui, repo, changeset): |
229 def export(ui, repo, changeset): |
230 """dump the changeset header and diffs for a revision""" |
230 """dump the changeset header and diffs for a revision""" |
231 node = repo.lookup(changeset) |
231 node = repo.lookup(changeset) |
232 prev, other = repo.changelog.parents(node) |
232 prev, other = repo.changelog.parents(node) |
239 if other != hg.nullid: |
239 if other != hg.nullid: |
240 print "# Parent %s" % hg.hex(other) |
240 print "# Parent %s" % hg.hex(other) |
241 print change[4].rstrip() |
241 print change[4].rstrip() |
242 print |
242 print |
243 |
243 |
244 dodiff(repo, None, prev, node) |
244 dodiff(repo, "", None, prev, node) |
245 |
245 |
246 def forget(ui, repo, file, *files): |
246 def forget(ui, repo, file, *files): |
247 """don't add the specified files on the next commit""" |
247 """don't add the specified files on the next commit""" |
248 repo.forget(relpath(repo, (file,) + files)) |
248 repo.forget(relpath(repo, (file,) + files)) |
249 |
249 |
447 |
447 |
448 C = changed |
448 C = changed |
449 A = added |
449 A = added |
450 R = removed |
450 R = removed |
451 ? = not tracked''' |
451 ? = not tracked''' |
452 |
452 |
453 (c, a, d, u) = repo.diffdir(repo.root) |
453 (c, a, d, u) = repo.diffdir(os.getcwd()) |
454 (c, a, d, u) = map(lambda x: relfilter(repo, x), (c, a, d, u)) |
454 (c, a, d, u) = map(lambda x: relfilter(repo, x), (c, a, d, u)) |
455 |
455 |
456 for f in c: print "C", f |
456 for f in c: print "C", f |
457 for f in a: print "A", f |
457 for f in a: print "A", f |
458 for f in d: print "R", f |
458 for f in d: print "R", f |