gitpython(或任何python git API)是否提供了一种方法来从工作树中的文件中分阶段选择大块,就像git add -i
让你做的那样?
我想我可以看到如何通过使用 's 和属性来获得可迭代的大块更改difflib
,git.diff.Diff
但是a_blob
我b_blob
如何构建一个特定的大块?
而且,对于奖励积分,是否有更好的方法来迭代文件中的更改,而不是:
diff = repo.head.commit.diff(None)[0]
a = diff.a_blob.read().split(b'\n')
b = diff.b_blob.read().split(b'\n')
diff_generator = difflib.Differ().compare(a, b)
我正在考虑比较流的东西,而不是必须将全部加载到内存中然后将其拆分为行。