Как я могу создать пустой коммит, используя libgit2? - PullRequest
0 голосов
/ 05 сентября 2018

Я просматривал справочную информацию по libgit2 C API , но не понимаю, как можно имитировать поведение git commit --allow-empty. Есть ли в libgit2 встроенный способ создания пустых коммитов? Если нет, то как git создает пустой коммит под капотом и как мне добиться такого же поведения с помощью libgit2?

1 Ответ

0 голосов
/ 06 сентября 2018

Вызовите 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);
...