private static void ReadTree(Stream s, GitObject go, ObjectHeader header)
{
var sb = new StringBuilder();
// The counter is increased inside the loop
// with every read operation.
for (int i = 0; i < header.Size;)
{
var leading = ReadLeadingBytes(s);
sb.Append(leading);
sb.Append(' ');
i += 7;
var filename = ReadFileName(s);
sb.Append(filename);
sb.Append(' ');
i += filename.Length + 1;
var hash = ReadHash(s);
sb.AppendLine(hash);
i += 20;
go.AddReference(hash, filename);
}
go.Body = sb.ToString();
}