Получение содержимого файла старой версии с помощью ngit - PullRequest
0 голосов
/ 21 февраля 2012

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

  • Временная ветвь и делать вещи
  • Скопировать файл, проверить файл, сделать мое дело и вернуть его

Ноэти пути действительно медленные и сложные.Нет ли в ngit чего-то более простого?

1 Ответ

0 голосов
/ 05 июля 2012

Использование NGit: подробности использования метода см. В документации jgit http://jgit.info/javadoc/

ObjectId commitId = git.GetRepository().Resolve(ref);
RevWalk revWalk = new RevWalk(git.GetRepository());
RevTree revTree = loRevWalk.ParseTree(commitId);
TreeWalk treeWalk = new TreeWalk(git.GetRepository());
treeWalk.AddTree(revTree);

while (treeWalk.Next())
{
    //compare treeWalk.NameString yourself
    byte[] bytes = treeWalk.ObjectReader.Open(treeWalk.GetObjectId(0)).GetCachedBytes()
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...