我的目标是从Python访问现有的Git repo。我想得到回购历史和按需差价。
为了做到这一点,我从dulwich开始。所以我试着:
from dulwich.repo import Repo
Repo.init('/home/umpirsky/Projects/my-exising-git-repo')
得到OSError: [Errno 17] File exists: '/home/umpirsky/Projects/my-exising-git-repo/.git
doc表示You can open an existing repository or you can create a new one.
。
知道怎么做吗?我能用德尔威奇查一下历史和差异吗?你能为Git访问推荐其他库吗?我正在开发Ubuntu应用程序,所以有Ubuntu软件包会更容易部署。
我还将定期检查以检测repo中的新更改,因此我更愿意使用remote,以便能够检测尚未拉到本地的更改。我不知道该怎么办,所以会通知你任何帮助。
提前谢谢。
Dulwich的大部分文档都假定对Git文件格式/协议有一定的了解。
您应该能够使用
Repo
打开现有存储库:或者创建一个新的:
获取特定提交的diff(带有第一个父级的diff)
Git协议只允许获取/发送包,不允许直接访问数据库中的特定对象。这意味着,要检查远程存储库,首先必须从远程repo获取相关提交,然后才能查看它们:
我认为
init
方法用于创建一个新的存储库,要打开一个现有的存储库,只需按以下方式传递路径即可:有关其他库的摘要,请查看此answer。基本上,它建议更容易使用
subprocess
模块,因为这是使用您已经知道的接口的最佳方式。相关问题 更多 >
编程相关推荐