X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fls-cmd.py;h=7dacce708a5c7ad7c4a9448800e4f2f748d659c5;hb=298be71411985a1ab5592c77fa4db76ee48edbd2;hp=44359a3ec2ba275c00240deb805b55dfa49cd37e;hpb=581e9dff93565d57d777ac3a2b93c09844c7263b;p=bup.git diff --git a/cmd/ls-cmd.py b/cmd/ls-cmd.py index 44359a3..7dacce7 100755 --- a/cmd/ls-cmd.py +++ b/cmd/ls-cmd.py @@ -1,48 +1,17 @@ -#!/usr/bin/env python -import sys, stat -from bup import options, git, vfs -from bup.helpers import * +#!/bin/sh +"""": # -*-python-*- +bup_python="$(dirname "$0")/bup-python" || exit $? +exec "$bup_python" "$0" ${1+"$@"} +""" +# end of bup preamble -def print_node(text, n): - prefix = '' - if opt.hash: - prefix += "%s " % n.hash.encode('hex') - if stat.S_ISDIR(n.mode): - print '%s%s/' % (prefix, text) - elif stat.S_ISLNK(n.mode): - print '%s%s@' % (prefix, text) - else: - print '%s%s' % (prefix, text) +import sys +from bup import git, ls -optspec = """ -bup ls --- -s,hash show hash for each file -a,all show hidden files -""" -o = options.Options(optspec) -(opt, flags, extra) = o.parse(sys.argv[1:]) git.check_repo_or_die() -top = vfs.RefList(None) - -if not extra: - extra = ['/'] - -ret = 0 -for d in extra: - try: - n = top.lresolve(d) - if stat.S_ISDIR(n.mode): - for sub in n: - if opt.all or not sub.name.startswith('.'): - print_node(sub.name, sub) - else: - if opt.all or not sub.name.startswith('.'): - print_node(d, n) - except vfs.NodeError, e: - log('error: %s\n' % e) - ret = 1 -sys.exit(ret) +# Check out lib/bup/ls.py for the opt spec +rc = ls.via_cmdline(sys.argv[1:]) +sys.exit(rc)