Тип Blob
предоставляет свойство Content
, которое возвращает byte[]
.
Следующий тест извлечен из файла BlobFixture.cs и демонстрирует использование этого свойства.
[Test]
public void CanReadBlobContent()
{
using (var repo = new Repository(BareTestRepoPath))
{
var blob = repo.Lookup<Blob>("a8233120f6ad708f843d861ce2b7228ec4e3dec6");
byte[] bytes = blob.Content;
bytes.Length.ShouldEqual(10);
string content = Encoding.UTF8.GetString(bytes);
content.ShouldEqual("hey there\n");
}
}
В этом конкретном тесте объект GitObject Blob напрямую извлекается методом LookUp()
.Вы также можете получить доступ к BLOB-объектам из свойства Files
Tree
.
Что касается вашего более конкретного запроса, следующий модульный тест должен показать вам , как получить доступ к необработанным байтам BLOB-объекта изtip of Branch
.
[Test]
public void CanRetrieveABlobContentFromTheTipOfABranch()
{
using (var repo = new Repository(BareTestRepoPath))
{
Branch branch = repo.Branches["br2"];
Commit tip = branch.Tip;
Blob blob = (Blob)tip["README"].Target;
byte[] content = blob.Content;
content.Length.ShouldEqual(10);
}
}
Примечание: Этот тест показывает еще один способ доступа к Blob
(в качестве абстрактного TreeEntry
).Таким образом, использование броска.