Мы разрабатываем инструмент, который должен создавать очень большие деревья git, содержащие множество объектов (~ 10 000 – 100 000). Ввод-вывод для многих файлов, соответствующих этим объектам, будет узким местом, поэтому нам интересно, можно ли будет сделать что-то вроде повторной упаковки на лету. Я представляю, как это делается либо при выполнении git_blob_create_frombuffer()
, либо при выполнении git_treebuilder_insert()
.
Как вы думаете, это было бы целесообразно и осуществимо? В случае, если это невозможно, есть ли у вас какие-либо предложения о том, как справиться с этим вариантом использования с libgit2?