dump-cache-tree.con commit Merge branch 'jc/cache-tree' into next (a77ada6)
   1#include "cache.h"
   2#include "tree.h"
   3#include "cache-tree.h"
   4
   5static void dump_cache_tree(struct cache_tree *it, const char *pfx)
   6{
   7        int i;
   8        if (!it)
   9                return;
  10        if (it->entry_count < 0)
  11                printf("%-40s %s (%d subtrees)\n", "invalid", pfx,
  12                       it->subtree_nr);
  13        else
  14                printf("%s %s (%d entries, %d subtrees)\n",
  15                       sha1_to_hex(it->sha1),
  16                       pfx, it->entry_count, it->subtree_nr);
  17        for (i = 0; i < it->subtree_nr; i++) {
  18                char path[PATH_MAX];
  19                struct cache_tree_sub *down = it->down[i];
  20                sprintf(path, "%s%.*s/", pfx, down->namelen, down->name);
  21                dump_cache_tree(down->cache_tree, path);
  22        }
  23}
  24
  25int main(int ac, char **av)
  26{
  27        if (read_cache() < 0)
  28                die("unable to read index file");
  29        dump_cache_tree(active_cache_tree, "");
  30        return 0;
  31}