]> arthur.barton.de Git - bup.git/commitdiff
restore: convert to internal command
authorRob Browning <rlb@defaultvalue.org>
Fri, 12 Feb 2021 21:35:02 +0000 (15:35 -0600)
committerRob Browning <rlb@defaultvalue.org>
Sat, 6 Mar 2021 18:29:39 +0000 (12:29 -0600)
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/cmd/restore.py
lib/cmd/bup

index 65d46def8f1c819c965ea772aff860e10ddd32ab..07643554d880c8a3ac6f654cfe577de18beac1ce 100755 (executable)
@@ -1,29 +1,9 @@
-#!/bin/sh
-"""": # -*-python-*-
-# https://sourceware.org/bugzilla/show_bug.cgi?id=26034
-export "BUP_ARGV_0"="$0"
-arg_i=1
-for arg in "$@"; do
-    export "BUP_ARGV_${arg_i}"="$arg"
-    shift
-    arg_i=$((arg_i + 1))
-done
-# Here to end of preamble replaced during install
-bup_python="$(dirname "$0")/../../../config/bin/python" || exit $?
-exec "$bup_python" "$0"
-"""
-# end of bup preamble
 
 from __future__ import absolute_import
-
-# Intentionally replace the dirname "$0" that python prepends
-import os, sys
-sys.path[0] = os.path.dirname(os.path.realpath(__file__)) + '/../..'
-
 from stat import S_ISDIR
-import copy, errno, re, stat
+import copy, errno, os, re, stat, sys
 
-from bup import compat, options, git, metadata, vfs
+from bup import options, git, metadata, vfs
 from bup._helpers import write_sparsely
 from bup.compat import argv_bytes, fsencode, wrap_main
 from bup.helpers import (add_error, chunkyreader, die_if_errors, handle_ctrl_c,
@@ -237,9 +217,9 @@ def restore(repo, parent_path, name, item, top, sparse, numeric_ids, owner_map,
     finally:
         os.chdir(orig_cwd)
 
-def main():
+def main(argv):
     o = options.Options(optspec)
-    opt, flags, extra = o.parse(compat.argv[1:])
+    opt, flags, extra = o.parse_bytes(argv[1:])
     verbosity = (opt.verbose or 0) if not opt.quiet else -1
     if opt.remote:
         opt.remote = argv_bytes(opt.remote)
@@ -320,5 +300,3 @@ def main():
     if verbosity >= 0:
         progress('Restoring: %d, done.\n' % total_restored)
     die_if_errors()
-
-wrap_main(main)
index fd4ac347b177e1ed3d6ae76b27859a463ec76248..a802741a2890bcc3450f1b1033ae59e61693ff16 100755 (executable)
@@ -209,6 +209,7 @@ try:
                            b'on--server',
                            b'prune-older',
                            b'random',
+                           b'restore',
                            b'rm',
                            b'save',
                            b'server',