Git - comment afficher la liste de TOUS les objets dans la base de données

Est-il un meilleur moyen d'obtenir un raw liste de SHA1s pour TOUS les objets dans un référentiel que de faire ls .git/objects/??/\* et cat .git/objects/pack/*.idx | git show-index?

Je sais à propos de git rev-list --all mais que seuls les listes de commettre des objets référencés par .git/refs, et je suis à la recherche d' tout y compris sans référence les objets qui sont créés par git-hash-object, git-mktree etc.

  • Je viens de faire ça hier sur un test de pension sur titres utilisés ls -alR .git/objects, mais je suis d'accord c'est pas l'idéal... +1
  • D'autre part, si vous êtes à la recherche pour les objets non référencés en particulier, git-fsck [--inaccessible] peut-être d'intérêt...
  • ...et ls ne fera que vous donner les objets en vrac, pas le des paniers, ce qui peut également être non référencées, d'où le git show-index dans ma question
  • Avec Git 2.19 (T3 2018), git cat-file --batch-check --batch-all-objects --unordered est assez rapide. Voir ma réponse ci-dessous.
InformationsquelleAutor kbro | 2011-09-08