Создать дерево git из рабочего дерева, не затрагивая индекс?

Я создаю инструмент, который позволит людям хранить " решения» к тестам. Поскольку я не хочу заново изобретать систему управления версиями, я решил использовать материал git tree/blob/object — моя идея состоит в том, чтобы создать объект дерева git из текущего рабочего каталога.

Проблема в том, что я хочу, чтобы этот инструмент не касался состояния репозитория пользователя, за исключением, конечно, поиска хэшей существующих объектов.

Я просмотрел как mktree, так и write-tree, и первому нужны выходные данные ls-tree, а последнему нужно изучить индекс. Ни то, ни другое не то, что я хочу.

Я рад углубиться и написать аналоги этих команд для рабочего дерева, однако у меня возникли проблемы с определением каких-либо инструментов git более низкого уровня для управления деревьями, блобами и объектами.

В идеале пользователь сможет запустить:

$ git create-tree .

и git выдаст хеш только что созданного объекта дерева.

12
задан dave paola 7 March 2012 в 00:40
поделиться