如何向索引添加内容,提交它,然后将主分支推送到带有dulwich的命名远程?

时间:2011-09-27 20:50:20

标签: python git dulwich

如何在索引中添加内容,如

git add .

然后

git commit -m "message"

然后

git push origin master

使用德威?

到目前为止,我发现了这个http://www.samba.org/~jelmer/dulwich/apidocs/dulwich.index.Index.html,但它并没有多说,是吗?

由于

2 个答案:

答案 0 :(得分:4)

这不是经过测试的答案,但它在推动部分更接近:

# set wants to master
def wantmaster(haves, wants):
  global repo
  return { "refs/heads/master": repo.refs["HEAD"] }

client, src = dulwich.client.get_transport_and_path(origin_uri) 

client.send_pack(src, wantmaster, repo.object_store.generate_pack_contents)

我的代码中有一个变体。

答案 1 :(得分:2)

在这种情况下,您不希望索引而是repo(索引是其中的一部分)。 http://www.samba.org/~jelmer/dulwich/apidocs/dulwich.repo.Repo.html

这样的事情应该有效:

>>> from dulwich.repo import Repo
>>> x = Repo('.')
>>> x.stage(['a'])
>>> x.do_commit(message="foo")
'151915d47467696d2f9d18de6f61be7168682aeb'