]> arthur.barton.de Git - bup.git/commitdiff
Better behaviour with --verbose.
authorAvery Pennarun <apenwarr@gmail.com>
Sun, 3 Jan 2010 03:34:43 +0000 (22:34 -0500)
committerAvery Pennarun <apenwarr@gmail.com>
Sun, 3 Jan 2010 03:34:43 +0000 (22:34 -0500)
Also added --verbose to cmd-save.

cmd-save.py
cmd-split.py
git.py

index e63054bbe6d25a61af3c1c6cfc2d2ff39a424b67..740a6fd687620283bfd9c53e87140307d8c9fdc0 100755 (executable)
@@ -7,12 +7,11 @@ saved_errors = []
 
 def add_error(e):
     saved_errors.append(e)
-    log('%s\n' % e)
+    log('\n%s\n' % e)
 
 
 def direxpand(names):
     for n in names:
-        log('%s\n' % n)
         try:
             for sub in os.listdir(n):
                 subfull = os.path.join(n, sub)
@@ -93,6 +92,7 @@ bup save [-tc] [-n name] <filenames...>
 t,tree     output a tree id
 c,commit   output a commit id
 n,name=    name of backup set to update (if any)
+v,verbose  increase log output (can be used more than once)
 """
 o = options.Options('bup save', optspec)
 (opt, flags, extra) = o.parse(sys.argv[1:])
@@ -101,8 +101,14 @@ if not (opt.tree or opt.commit or opt.name):
     log("bup save: use one or more of -t, -c, -n\n")
     o.usage()
 
+if opt.verbose >= 2:
+    git.verbose = opt.verbose - 1
+    hashsplit.split_verbosely = opt.verbose - 1
+
 root = Tree(None, '')
 for fn in direxpand(extra):
+    if opt.verbose:
+        log('\n%s ' % fn)
     try:
         # FIXME: symlinks etc.
         f = open(fn)
@@ -115,14 +121,16 @@ for fn in direxpand(extra):
     (mode, id) = hashsplit.split_to_blob_or_tree([f])
     root.addfile(mode, fn, id)
 tree = root.gen_tree()
+if opt.verbose:
+    log('\n')
 if opt.tree:
-    print tree
+    print tree.encode('hex')
 if opt.commit or opt.name:
     msg = 'bup save\n\nGenerated by command:\n%r' % sys.argv
     ref = opt.name and ('refs/heads/%s' % opt.name) or None
     commit = git.gen_commit_easy(ref, tree, msg)
     if opt.commit:
-        print commit
+        print commit.encode('hex')
 
 git.flush_pack()
 
index 74911c1ced18e7cf9f1c6f185b5d1e0c61818228..2199fb538a6bc858347559e41b25c3a164b41f34 100755 (executable)
@@ -23,6 +23,7 @@ if not (opt.blobs or opt.tree or opt.commit or opt.name):
 hashsplit.split_verbosely = opt.verbose
 if opt.verbose >= 2:
     git.verbose = opt.verbose - 1
+    opt.bench = 1
 
 start_time = time.time()
 
diff --git a/git.py b/git.py
index 7984a45b40a8e6b52cceca03e7c10a435fb37533..720a49543004b134c28c03fc821b0a3579b114a0 100644 (file)
--- a/git.py
+++ b/git.py
@@ -253,6 +253,7 @@ def gen_commit_easy(ref, tree, msg):
     userline = '%s <%s@%s>' % (userfullname(), username(), hostname())
     oldref = ref and _read_ref('.git', ref) or None
     commit = gen_commit(tree, oldref, userline, now, userline, now, msg)
+    flush_pack()
     if ref:
-        _update_ref('.git', ref, commit, oldref)
+        _update_ref('.git', ref, commit.encode('hex'), oldref)
     return commit