Quería encontrar los 10 archivos más grandes en mi repositorio. El guión que se me ocurrió es como sigue:¿Cómo encontrar los N archivos más grandes en un repositorio git?
REP_HOME_DIR=<top level git directory>
max_huge_files=10
cd ${REP_HOME_DIR}
git verify-pack -v ${REP_HOME_DIR}/.git/objects/pack/pack-*.idx | \
grep blob | \
sort -r -k 3 -n | \
head -${max_huge_files} | \
awk '{ system("printf \"%-80s \" `git rev-list --objects --all | grep " $1 " | cut -d\" \" -f2`"); printf "Size:%5d MB Size in pack file:%5d MB\n", $3/1048576, $4/1048576; }'
cd -
¿Existe una manera mejor/más elegante de hacer lo mismo?
Por "archivos" me refiero a los archivos que se han registrado en el repositorio.
¿Es esto realmente para cualquier directorio, o hay algo específico sobre git usted está tratando de averiguar? Por tu conducto, supongo que cualquier comando de Unix está bien? –
¿Quiere decir que los archivos están siendo rastreados o los archivos en el disco? Es posible que no se correlacionen de la manera que esperas. – Daenyth
Archivos que se han registrado en el repositorio. – Sumit