擅长:python、mysql、java
<p>使用diff_index[i].diff作为<em>tdichp</em>的建议,并将源文件和目标文件行添加到diff中,否则unidiff将抛出。以下是我的工作代码示例:</p>
<pre><code>diffs = []
diff_index = commit.diff(prev_commit, create_patch=True)
for diff in diff_index.iter_change_type('M'):
if diff.a_path[-3:] == ".js":
diffs.append(diff)
if diffs:
for d in diffs:
a_path = " - " + d.a_rawpath.decode('utf-8')
b_path = "+++ " + d.b_rawpath.decode('utf-8')
# Get detailed info
patch = PatchSet(a_path + os.linesep + b_path + os.linesep + d.diff.decode('utf-8'))
for h in patch[0]:
for l in h:
print(" " + str(l.source_line_no) + " <-> " + str(l.target_line_no))
print("")
</code></pre>