今私はすべてのコミットを取得し、whemをdbに保存したいときにreposを複製するためにgit svnを使用しています。svn reposでpygit2を使ってすべてのレポコミットを取得
すべてのコミットを取得するにはpygit2.Repository
を使用しますが、私は '/ trunk /'ブランチからのコミットのみを受け取ることがわかります。
* master
remotes/origin/test-1
remotes/origin/[email protected]
remotes/origin/trunk
を、私はgit log remotes/origin/test-1
を行うとき、私は適切なコミットを引き起こす参照してください。
私はターミナルでgit branch -a
を使用する場合、私はすべてのブランチを見ることができます。
しかし、pygit2.Repository
を使ってリポジトリからすべてのコミットを受け取ろうとすると、他のブランチからではなく、トランクのみからコミットを受け取ります。ブランチからコミットする方法も教えてください。たぶん私はpygit2を使用するべきではありませんが、いくつかの他のpythonモジュールを使用するべきですか?
['origin/test-1', 'origin/trunk', 'origin/[email protected]']
が、私はrepo.lookup_branch('origin/test-1')
またはrepo.lookup_branch('remote/origin/test-1')
を実行しようとするとき、私が代わりにpygit2.Branch
オブジェクト
と私はのどれを受け取らない:repo.listall_branchesを使用して
(2)私はこの枝を見pygit2ものを見ます
head = repo.lookup_branch('master').get_object()
for native_commit in repo.walk(head.hex):
print(i)
私はtrunk
からコミットを受信します。 trunk
からコミットするだけでなく、すべてのブランチからすべてのコミットを受け取る適切な方法を教えてください。
以前のバージョンのpygit2を使用していますが、repo.branchesはまだありません。しかし、私はすべてのコミットを取得する方法を見つける:あなたはこのようなbranch_typeを渡す必要があります - このコードを使用して私はすべての必要なコミットヘッドを受け取ります。repo.lookup_branch( 'origin/test-1'、2).get_object()すべての枝についてrepo.walk(head.hex)を実行します。 – Vova