Возможно ли получить упорядочение объектов в глубину из git rev-list?

#git #git-rev-list #git-plumbing

#git #git-rev-list #git-сантехника

Вопрос:

Я почти могу получить упорядочение по глубине git rev-list --in-commit-order --objects --reverse HEAD , которое дает мне что-то вроде

 commit A
tree AA
blob A
blob B
commit B
tree BA
...
  

Когда я хочу

 blob B
blob A
tree AA
commit A
...
  

Последующая обработка списка в глубину сначала не является прямой, потому что два дерева общего происхождения могут иметь один и тот же дочерний элемент, например

 tree A is parent of tree B and blob A
tree B is parent of blob A
  

Комментарии:

1. Я не думаю, что это возможно.

2. git rev-list Я сомневаюсь, что в одиночку, возможно, с дополнительным скриптом для чтения и изменения порядка вывода. Не могли бы вы описать, как вы собираетесь использовать выходные данные?

3. @LeGEC Я шифрую граф объектов, поэтому мне нужно сначала пройти глубину дерева Меркле, чтобы перестроить его.

4. Проблема с переупорядочением ввода, которое я делаю в настоящее время, заключается в том, что если дерево A и дерево-потомок B совместно используют blob A, blob A отображается более близко к дереву A. Возможно, мне придется просто пройтись по графику самостоятельно.