Vorrei eseguire un commit su un ramo (master ad esempio).Creare un commit utilizzando pygit2
Sto creando un clone repository utilizzando pygit2
(pygit2.clone_repository
)
Poi ho modificare un file esistente nel repository.
In seguito ho eseguito questo per fare un commit:
index = repository.index
index.add_all()
index.write()
author = pygit2.Signature(user_name, user_mail)
commiter = pygit2.Signature(user_name, user_mail)
tree = repository.TreeBuilder().write()
oid = repository.create_commit(reference, author, commiter, message,tree,[repository.head.get_object().hex])
ma quando vado al repository e corro git status
:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: test.txt
Il file modificato sembra essere aggiunto per commettere, ma il commit non ha avuto successo Usando l'OID restituito posso trovare l'attributo commit nel repository pygit2.
Mi sono perso qualcosa?
Non vedo il tuo codice che menziona un ramo da qualche parte, forse dovresti specificarlo da qualche parte? –
Il valore di riferimento è 'ref/heads/master' – user1479699
Ho problemi a trovare documentazione decente per pygit2, quindi sto solo cercando di indovinare: sto vedendo che chiamate vari metodi 'write()' dopo aver fatto alcuni cambiamenti di stato . 'Create_commit()' scrive implicitamente o ti stai dimenticando di farlo? –