]> arthur.barton.de Git - bup.git/blobdiff - cmd/split-cmd.py
LocalRepo.__init__: use correct dir everywhere
[bup.git] / cmd / split-cmd.py
index 637bbd9af6ca593a19eef6b5d17c2ed8001ca46d..031a266acd3b8f42e8266a40de8b2c2fcfdada76 100755 (executable)
@@ -5,12 +5,14 @@ exec "$bup_python" "$0" ${1+"$@"}
 """
 # end of bup preamble
 
+from __future__ import absolute_import
 import os, sys, time
 
 from bup import hashsplit, git, options, client
 from bup.helpers import (add_error, handle_ctrl_c, hostname, log, parse_num,
                          qprogress, reprogress, saved_errors,
-                         userfullname, username, valid_save_name)
+                         userfullname, username, valid_save_name,
+                         parse_date_or_fatal)
 
 
 optspec = """
@@ -58,10 +60,14 @@ if extra and opt.git_ids:
 if opt.verbose >= 2:
     git.verbose = opt.verbose - 1
     opt.bench = 1
+
+max_pack_size = None
 if opt.max_pack_size:
-    git.max_pack_size = parse_num(opt.max_pack_size)
+    max_pack_size = parse_num(opt.max_pack_size)
+max_pack_objects = None
 if opt.max_pack_objects:
-    git.max_pack_objects = parse_num(opt.max_pack_objects)
+    max_pack_objects = parse_num(opt.max_pack_objects)
+
 if opt.fanout:
     hashsplit.fanout = parse_num(opt.fanout)
 if opt.blobs:
@@ -97,11 +103,15 @@ if opt.noop or opt.copy:
 elif opt.remote or is_reverse:
     cli = client.Client(opt.remote)
     oldref = refname and cli.read_ref(refname) or None
-    pack_writer = cli.new_packwriter(compression_level=opt.compress)
+    pack_writer = cli.new_packwriter(compression_level=opt.compress,
+                                     max_pack_size=max_pack_size,
+                                     max_pack_objects=max_pack_objects)
 else:
     cli = None
     oldref = refname and git.read_ref(refname) or None
-    pack_writer = git.PackWriter(compression_level=opt.compress)
+    pack_writer = git.PackWriter(compression_level=opt.compress,
+                                 max_pack_size=max_pack_size,
+                                 max_pack_objects=max_pack_objects)
 
 if opt.git_ids:
     # the input is actually a series of git object ids that we should retrieve
@@ -128,7 +138,7 @@ if opt.git_ids:
                 line = line.strip()
             try:
                 it = cp.get(line.strip())
-                next(it, None)  # skip the file type
+                next(it, None)  # skip the file info
             except KeyError as e:
                 add_error('error: %s' % e)
                 continue