Mercurial > hg
comparison hgext/convert/common.py @ 5121:ef338e34a906
convert: look up copies in getchanges instead of getcommit
svn: defer path expansion until getchanges to reduce latency, as well as memory
usage when converting incrementally.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Sun, 05 Aug 2007 12:03:27 -0700 |
parents | 568bb3b4b815 |
children | 39b6eaee6fd7 |
comparison
equal
deleted
inserted
replaced
5120:514c06098e9c | 5121:ef338e34a906 |
---|---|
1 # common code for the convert extension | 1 # common code for the convert extension |
2 | 2 |
3 class NoRepo(Exception): pass | 3 class NoRepo(Exception): pass |
4 | 4 |
5 class commit(object): | 5 class commit(object): |
6 def __init__(self, author, date, desc, parents, branch=None, rev=None, | 6 def __init__(self, author, date, desc, parents, branch=None, rev=None): |
7 copies={}): | |
8 self.author = author | 7 self.author = author |
9 self.date = date | 8 self.date = date |
10 self.desc = desc | 9 self.desc = desc |
11 self.parents = parents | 10 self.parents = parents |
12 self.branch = branch | 11 self.branch = branch |
13 self.rev = rev | 12 self.rev = rev |
14 self.copies = copies | |
15 | 13 |
16 class converter_source(object): | 14 class converter_source(object): |
17 """Conversion source interface""" | 15 """Conversion source interface""" |
18 | 16 |
19 def __init__(self, ui, path, rev=None): | 17 def __init__(self, ui, path, rev=None): |
40 def getmode(self, name, rev): | 38 def getmode(self, name, rev): |
41 """Return file mode, eg. '', 'x', or 'l'""" | 39 """Return file mode, eg. '', 'x', or 'l'""" |
42 raise NotImplementedError() | 40 raise NotImplementedError() |
43 | 41 |
44 def getchanges(self, version): | 42 def getchanges(self, version): |
45 """Return sorted list of (filename, id) tuples for all files changed in rev. | 43 """Returns a tuple of (files, copies) |
44 Files is a sorted list of (filename, id) tuples for all files changed | |
45 in version, where id is the source revision id of the file. | |
46 | 46 |
47 id just tells us which revision to return in getfile(), e.g. in | 47 copies is a dictionary of dest: source |
48 git it's an object hash.""" | 48 """ |
49 raise NotImplementedError() | 49 raise NotImplementedError() |
50 | 50 |
51 def getcommit(self, version): | 51 def getcommit(self, version): |
52 """Return the commit object for version""" | 52 """Return the commit object for version""" |
53 raise NotImplementedError() | 53 raise NotImplementedError() |