Использование libgit2sharp для "git log" - PullRequest
0 голосов
/ 27 ноября 2018

В командной строке я могу набрать

git log myfile

, и он очень быстро выдаст мне все коммиты, в которых был обновлен этот файл.

Использование libgit2sharp, единственный способ, которым яя обнаружил, что для этого просматриваю каждый коммит в моем хранилище и запрашиваю коммит для файлов в этом коммите.Это занимает ОЧЕНЬ много времени (около 10 секунд на файл).

Есть ли способ получить ту же информацию, которую я получаю из "git log", используя libgit2sharp?

1 Ответ

0 голосов
/ 28 ноября 2018

Фильтрация коммитов кажется действительно способ реализации тестов :

// $ git log --follow --format=oneline untouched.txt
// c10c1d5f74b76f20386d18674bf63fbee6995061 Initial commit
fileHistoryEntries = repo.Commits.QueryBy("untouched.txt").ToList();
Assert.Single(fileHistoryEntries);
Assert.Equal("c10c1d5f74b76f20386d18674bf63fbee6995061", fileHistoryEntries[0].Commit.Sha);

Это введено в 2015 году коммитом c462df3

Даже обычный git log (не фильтруется для файла) может быть медленным при большом репо .

...