Когда я делаю index.write_tree())
(index
- это Index
, полученное в результате слияния с использованием merge_commits
), я получаю сообщение об ошибке «Не удалось записать дерево. Файл индекса не резервируется существующим хранилищем» , У меня есть существующее хранилище. [В оригинальной версии этого поста он был пустым, но я изменил его на не голый, и он все еще не работает.] Что я делаю не так?
В общем, я пытаюсь реализовать git pull
(выборка, затем слияние). В догоняющем случае я понимаю, что после извлечения и слияния мне нужно выписать коммит. Это то, что я пытаюсь сделать. Как я могу это сделать?
По сути, мой код
let index = repo.merge_commits(&our_commit, &their_commit, Some(&MergeOptions::new()))?;
if !index.has_conflicts() {
let new_tree_oid = index.write_tree()?; // error occurs here
let new_tree = repo.find_tree(new_tree_oid)?;
//...
}
Я использую ящик git2
для ржавчины, который обертывает библиотеку libgit2
.