Show More
@@ -56,22 +56,26 b' class convert_git(converter_source):' | |||
|
56 | 56 | |
|
57 | 57 | def getchanges(self, version): |
|
58 | 58 | self.modecache = {} |
|
59 | fh = self.gitcmd("git diff-tree --root -m -r %s" % version) | |
|
59 | fh = self.gitcmd("git diff-tree -z --root -m -r %s" % version) | |
|
60 | 60 | changes = [] |
|
61 | 61 | seen = {} |
|
62 | for l in fh: | |
|
63 | if "\t" not in l: | |
|
64 |
|
|
|
65 | m, f = l[:-1].split("\t") | |
|
66 |
|
|
|
62 | entry = None | |
|
63 | for l in fh.read().split('\x00'): | |
|
64 | if not entry: | |
|
65 | if not l.startswith(':'): | |
|
66 | continue | |
|
67 | entry = l | |
|
67 | 68 | continue |
|
68 |
|
|
|
69 | m = m.split() | |
|
70 |
|
|
|
71 | p = (m[1] == "100755") | |
|
72 | s = (m[1] == "120000") | |
|
73 | self.modecache[(f, h)] = (p and "x") or (s and "l") or "" | |
|
74 | changes.append((f, h)) | |
|
69 | f = l | |
|
70 | if f not in seen: | |
|
71 | seen[f] = 1 | |
|
72 | entry = entry.split() | |
|
73 | h = entry[3] | |
|
74 | p = (entry[1] == "100755") | |
|
75 | s = (entry[1] == "120000") | |
|
76 | self.modecache[(f, h)] = (p and "x") or (s and "l") or "" | |
|
77 | changes.append((f, h)) | |
|
78 | entry = None | |
|
75 | 79 | return (changes, {}) |
|
76 | 80 | |
|
77 | 81 | def getcommit(self, version): |
General Comments 0
You need to be logged in to leave comments.
Login now