Я просматривал ссылку на C API libgit2, но не понимаю, как можно эмулировать поведение git commit --allow-empty
. Есть ли в libgit2 встроенный способ создания пустых коммитов? Если нет, то как git создает пустой коммит под капотом и как мне добиться такого же поведения с помощью libgit2?
Как я могу создать пустой коммит с помощью libgit2?
Ответы (1)
Вызовите git_commit_create
с тем же деревом, что и родительский коммит. То есть:
// Get parent somehow.
git_commit *parent = ...;
// Use the same tree as the parent.
git_tree *tree;
git_commit_tree(&tree, parent);
// Create the commit.
git_commit_create(..., tree, 1, parent);
person
Jason Haslam
schedule
05.09.2018