Mercurial > hg
comparison hgext/convert/git.py @ 10282:08a0f04b56bd
many, many trivial check-code fixups
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 25 Jan 2010 00:05:27 -0600 |
parents | 25e572394f5c |
children | 02d6149a480b |
comparison
equal
deleted
inserted
replaced
10281:e7d3b509af8b | 10282:08a0f04b56bd |
---|---|
41 | 41 |
42 self.path = path | 42 self.path = path |
43 | 43 |
44 def getheads(self): | 44 def getheads(self): |
45 if not self.rev: | 45 if not self.rev: |
46 return self.gitcmd('git rev-parse --branches --remotes').read().splitlines() | 46 fh = self.gitcmd('git rev-parse --branches --remotes') |
47 return fh.read().splitlines() | |
47 else: | 48 else: |
48 fh = self.gitcmd("git rev-parse --verify %s" % self.rev) | 49 fh = self.gitcmd("git rev-parse --verify %s" % self.rev) |
49 return [fh.read()[:-1]] | 50 return [fh.read()[:-1]] |
50 | 51 |
51 def catfile(self, rev, type): | 52 def catfile(self, rev, type): |
52 if rev == "0" * 40: raise IOError() | 53 if rev == "0" * 40: |
54 raise IOError() | |
53 fh = self.gitcmd("git cat-file %s %s" % (type, rev)) | 55 fh = self.gitcmd("git cat-file %s %s" % (type, rev)) |
54 return fh.read() | 56 return fh.read() |
55 | 57 |
56 def getfile(self, name, rev): | 58 def getfile(self, name, rev): |
57 return self.catfile(rev, "blob") | 59 return self.catfile(rev, "blob") |
84 return (changes, {}) | 86 return (changes, {}) |
85 | 87 |
86 def getcommit(self, version): | 88 def getcommit(self, version): |
87 c = self.catfile(version, "commit") # read the commit hash | 89 c = self.catfile(version, "commit") # read the commit hash |
88 end = c.find("\n\n") | 90 end = c.find("\n\n") |
89 message = c[end+2:] | 91 message = c[end + 2:] |
90 message = self.recode(message) | 92 message = self.recode(message) |
91 l = c[:end].splitlines() | 93 l = c[:end].splitlines() |
92 parents = [] | 94 parents = [] |
93 author = committer = None | 95 author = committer = None |
94 for e in l[1:]: | 96 for e in l[1:]: |
103 p = v.split() | 105 p = v.split() |
104 tm, tz = p[-2:] | 106 tm, tz = p[-2:] |
105 committer = " ".join(p[:-2]) | 107 committer = " ".join(p[:-2]) |
106 if committer[0] == "<": committer = committer[1:-1] | 108 if committer[0] == "<": committer = committer[1:-1] |
107 committer = self.recode(committer) | 109 committer = self.recode(committer) |
108 if n == "parent": parents.append(v) | 110 if n == "parent": |
111 parents.append(v) | |
109 | 112 |
110 if committer and committer != author: | 113 if committer and committer != author: |
111 message += "\ncommitter: %s\n" % committer | 114 message += "\ncommitter: %s\n" % committer |
112 tzs, tzh, tzm = tz[-5:-4] + "1", tz[-4:-2], tz[-2:] | 115 tzs, tzh, tzm = tz[-5:-4] + "1", tz[-4:-2], tz[-2:] |
113 tz = -int(tzs) * (int(tzh) * 3600 + int(tzm)) | 116 tz = -int(tzs) * (int(tzh) * 3600 + int(tzm)) |
143 m, f = l[:-1].split("\t") | 146 m, f = l[:-1].split("\t") |
144 changes.append(f) | 147 changes.append(f) |
145 fh.close() | 148 fh.close() |
146 else: | 149 else: |
147 fh = self.gitcmd('git diff-tree --name-only --root -r %s "%s^%s" --' | 150 fh = self.gitcmd('git diff-tree --name-only --root -r %s "%s^%s" --' |
148 % (version, version, i+1)) | 151 % (version, version, i + 1)) |
149 changes = [f.rstrip('\n') for f in fh] | 152 changes = [f.rstrip('\n') for f in fh] |
150 fh.close() | 153 fh.close() |
151 | 154 |
152 return changes | 155 return changes |