libgit2sharp Repository.Diff.Compare очень медленный по сравнению с командной строкой git diff - PullRequest
0 голосов
/ 18 декабря 2018

Настройка: у меня есть код, который просматривает набор различий и регистрирует информацию об изменениях.В основном это выглядит так:

        var commit = repository.Lookup<Commit>(commitish);

        // Loop over all parent commits this is related to
        foreach (var parent in commit.Parents)
        {
            var oldTree = parent.Tree;
            var newTree = commit.Tree;
            var changes = repository.Diff.Compare<TreeChanges>(oldTree, newTree);
            // do stuff with the changes
        }

Я нахожусь в ОГРОМНОМ хранилище с несколькими гигабайтами, просматривая коммиты год назад.Вызов Diff.Compare может занять до пяти минут.Однако если я зайду в командную строку и наберу «git diff (commitish)», я верну результаты всего за несколько секунд.Могу ли я сделать что-нибудь быстрее в коде?

...