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\n", "invalid", pfx);
12 else
13 printf("%s %s (%d entries)\n",
14 sha1_to_hex(it->sha1),
15 pfx, it->entry_count);
16 for (i = 0; i < it->subtree_nr; i++) {
17 char path[PATH_MAX];
18 struct cache_tree_sub *down = it->down[i];
19 sprintf(path, "%s%.*s/", pfx, down->namelen, down->name);
20 dump_cache_tree(down->cache_tree, path);
21 }
22}
23
24int main(int ac, char **av)
25{
26 if (read_cache() < 0)
27 die("unable to read index file");
28 dump_cache_tree(active_cache_tree, "");
29 return 0;
30}