MCPcopy Create free account
hub / github.com/codereader/DarkRadiant / getDiff

Method getDiff

plugins/vcs/Repository.cpp:467–482  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

465}
466
467std::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
484git_repository* Repository::_get()
485{

Callers 2

analyseRemoteStatusFunction · 0.80
performFastForwardFunction · 0.80

Calls 4

getTreeMethod · 0.80
c_strMethod · 0.45
getNameMethod · 0.45
_getMethod · 0.45

Tested by

no test coverage detected