Не могу раскодировать деревья git

В университете получил задание по созданию визуализатора коммитов без использования самого гита. Для этого мне нужно получать информацию из файлов объектов гита(коммиты, деревья, блобы), которые лежат в каталоге objects.

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

Прошу поделиться возможными решениями проблемы

Мой код:

using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
using System.IO.Compression;
using System.Text;

public class Programm
{
    public static void Main()
    {
        FileStream file = new FileStream("..\\.git\\objects\\da\\4b81b4aae57fcf1e54dcd3f76858e64af601b8", FileMode.Open, FileAccess.Read);
        byte[] buffer = new byte[1024];
        file.Read(buffer, 0, buffer.Length);
        ZLibStream decoder = new ZLibStream(new MemoryStream(buffer), CompressionMode.Decompress);
        byte[] buffer1 = new byte[1024];
        decoder.Read(buffer1, 0, buffer.Length);
        var text = System.Text.Encoding.UTF8.GetString(buffer1);
        Console.WriteLine(text);
    }
}

Что я получаю на выходе: Это вижу при раскодировании деревьев

Что по идее должен получить:

Что я примерно должен увидеть


Ответы (0 шт):