| 465 | } |
| 466 | |
| 467 | std::shared_ptr<Diff> Repository::getDiff(const Reference& ref, Commit& commit) |
| 468 | { |
| 469 | git_oid refOid; |
| 470 | auto error = git_reference_name_to_id(&refOid, _repository, ref.getName().c_str()); |
| 471 | GitException::ThrowOnError(error); |
| 472 | |
| 473 | auto refCommit = Commit::LookupFromOid(_repository, &refOid); |
| 474 | auto refTree = refCommit->getTree(); |
| 475 | |
| 476 | git_diff* diff; |
| 477 | auto baseTree = commit.getTree(); |
| 478 | error = git_diff_tree_to_tree(&diff, _repository, baseTree->_get(), refTree->_get(), nullptr); |
| 479 | GitException::ThrowOnError(error); |
| 480 | |
| 481 | return std::make_shared<Diff>(diff); |
| 482 | } |
| 483 | |
| 484 | git_repository* Repository::_get() |
| 485 | { |
no test coverage detected