Я хотел бы сделать коммит на ветке (например, master).
Я делаю клон репозитория, используя pygit2
(pygit2.clone_repository
)
Затем я изменяю существующий файл в репозитории.
После этого я запускаю это, чтобы сделать коммит:
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])
Но когда я захожу в репозиторий и запускаю git status
:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: test.txt
Измененный файл кажется добавленным для фиксации, но фиксация не удалась. Используя возвращенный Oid, я могу найти атрибут фиксации в репозитории pygit2.
Я что-то пропустил ?
write()
после некоторых изменений состояния.create_commit()
пишет неявно или вы забыли это сделать? - person Thom Wiggers   schedule 06.04.2015