Мне нужно использовать libgit2 для реализации команды "git commit -F ...".
Код ниже будет фиксировать 1.txt и 2.txt:
git_libgit2_init();
git_repository* pRepository;
git_index* pIndex;
git_oid oidTree, oidCommitted;
git_tree* pTree;
git_signature* pSignature;
git_repository_init(&pRepository, "C:\\Temp", false);
git_repository_index(&pIndex, pRepository);
git_index_add_bypath(pIndex, "1.txt");
git_index_add_bypath(pIndex, "2.txt");
git_index_write(pIndex);
git_index_write_tree(&oidTree, pIndex);
git_tree_lookup(&pTree, pRepository, &oidTree);
git_signature_now(&pSignature, "My name", "My email");
git_commit_create(&oidCommitted, pRepository, "refs/heads/master",
pSignature, pSignature, NULL, "Initial commit with 1.txt", pTree, 0, NULL);
git_signature_free(pSignature);
git_tree_free(pTree);
git_index_free(pIndex);
git_repository_free(pRepository);
git_libgit2_shutdown();
Как изменить мой код для реализации:
git add 1.txt 2.txt
git commit 1.txt -m "Initial commit with 1.txt"