]> arthur.barton.de Git - bup.git/commitdiff
init: convert to internal command
authorRob Browning <rlb@defaultvalue.org>
Mon, 8 Feb 2021 04:09:54 +0000 (22:09 -0600)
committerRob Browning <rlb@defaultvalue.org>
Sat, 6 Mar 2021 18:29:38 +0000 (12:29 -0600)
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/cmd/init.py
lib/cmd/bup

index 2dff0569e15de1065b6da2db2d9b8b40ae21ffdb..c354584ac6fb4bf45fbc7317b726f59e76c5d111 100755 (executable)
@@ -1,26 +1,8 @@
-#!/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
+import sys
 
-# Intentionally replace the dirname "$0" that python prepends
-import os, sys
-sys.path[0] = os.path.dirname(os.path.realpath(__file__)) + '/../..'
-
-from bup import compat, git, options, client
+from bup import git, options, client
 from bup.helpers import log, saved_errors
 from bup.compat import argv_bytes
 
@@ -30,20 +12,21 @@ optspec = """
 --
 r,remote=  remote repository path
 """
-o = options.Options(optspec)
-opt, flags, extra = o.parse(compat.argv[1:])
 
-if extra:
-    o.fatal("no arguments expected")
+def main(argv):
+    o = options.Options(optspec)
+    opt, flags, extra = o.parse_bytes(argv[1:])
 
+    if extra:
+        o.fatal("no arguments expected")
 
-try:
-    git.init_repo()  # local repo
-except git.GitError as e:
-    log("bup: error: could not init repository: %s" % e)
-    sys.exit(1)
+    try:
+        git.init_repo()  # local repo
+    except git.GitError as e:
+        log("bup: error: could not init repository: %s" % e)
+        sys.exit(1)
 
-if opt.remote:
-    git.check_repo_or_die()
-    cli = client.Client(argv_bytes(opt.remote), create=True)
-    cli.close()
+    if opt.remote:
+        git.check_repo_or_die()
+        cli = client.Client(argv_bytes(opt.remote), create=True)
+        cli.close()
index d2e3e102ea185873f5c0c2bf84fcee35a13201d2..4badb81d76f07ece943317cb530def566f466c62 100755 (executable)
@@ -190,6 +190,7 @@ try:
                            b'gc',
                            b'help',
                            b'index',
+                           b'init',
                            b'join',
                            b'ls',
                            b'meta',