Como listar todos os arquivos para cada revisão no Git (como o manifesto hg do Mercurial --all)?

10

O Mercurial tem um comando para listar todos os arquivos que o repositório possui para cada revisão:

hg manifest --all

Existe um comando equivalente no Git?

    
por IT2 22.09.2011 / 18:56

1 resposta

3

Eu sou absolutamente péssimo em scripts de shell, então isso é certamente sub-ótimo, mas esse tipo de coisa pode fazer isso para você, supondo que você esteja usando o bash. Espero que alguém possa vir e limpá-lo ou substituí-lo por algo melhor. Eu só testei no meu Mac, então cuidado.

Deveria imprimir todos os arquivos em commits que são ancestrais do HEAD atual. Salve em um arquivo chamado manifest.sh em algum lugar do seu caminho:

#!/bin/bash

TFILE=$(mktemp -t git-manifest)

for sha in $(git log --pretty=format:%H)
do
    git ls-tree --name-only --full-tree -r $sha >> $TFILE
done

sort -u $TFILE
rm $TFILE
    
por 08.05.2012 / 05:54

Tags