3 from bup import options, git, vfs
4 from bup.helpers import *
6 def node_name(text, n):
9 prefix += "%s " % n.hash.encode('hex')
10 if stat.S_ISDIR(n.mode):
11 return '%s%s/' % (prefix, text)
12 elif stat.S_ISLNK(n.mode):
13 return '%s%s@' % (prefix, text)
15 return '%s%s' % (prefix, text)
21 s,hash show hash for each file
22 a,all show hidden files
24 o = options.Options(optspec)
25 (opt, flags, extra) = o.parse(sys.argv[1:])
27 git.check_repo_or_die()
28 top = vfs.RefList(None)
38 if stat.S_ISDIR(n.mode):
40 if opt.all or not sub.name.startswith('.'):
42 L.append(node_name(sub.name, sub))
44 print node_name(sub.name, sub)
46 if opt.all or not n.name.startswith('.'):
48 L.append(node_name(d, n))
51 except vfs.NodeError, e:
52 log('error: %s\n' % e)
56 sys.stdout.write(columnate(L, ''))