equal
deleted
inserted
replaced
33 |
33 |
34 return sorted(files) |
34 return sorted(files) |
35 |
35 |
36 def _collectextranodes(repo, files, link): |
36 def _collectextranodes(repo, files, link): |
37 """return the nodes that have to be saved before the strip""" |
37 """return the nodes that have to be saved before the strip""" |
38 def collectone(revlog): |
38 def collectone(cl, revlog): |
39 extra = [] |
39 extra = [] |
40 startrev = count = len(revlog) |
40 startrev = count = len(revlog) |
41 # find the truncation point of the revlog |
41 # find the truncation point of the revlog |
42 for i in xrange(count): |
42 for i in xrange(count): |
43 lrev = revlog.linkrev(i) |
43 lrev = revlog.linkrev(i) |
55 |
55 |
56 return extra |
56 return extra |
57 |
57 |
58 extranodes = {} |
58 extranodes = {} |
59 cl = repo.changelog |
59 cl = repo.changelog |
60 extra = collectone(repo.manifest) |
60 extra = collectone(cl, repo.manifest) |
61 if extra: |
61 if extra: |
62 extranodes[1] = extra |
62 extranodes[1] = extra |
63 for fname in files: |
63 for fname in files: |
64 f = repo.file(fname) |
64 f = repo.file(fname) |
65 extra = collectone(f) |
65 extra = collectone(cl, f) |
66 if extra: |
66 if extra: |
67 extranodes[fname] = extra |
67 extranodes[fname] = extra |
68 |
68 |
69 return extranodes |
69 return extranodes |
70 |
70 |