]> arthur.barton.de Git - bup.git/blobdiff - cmd/join-cmd.py
Move cmd-*.py to cmd/*-cmd.py.
[bup.git] / cmd / join-cmd.py
diff --git a/cmd/join-cmd.py b/cmd/join-cmd.py
new file mode 100755 (executable)
index 0000000..0e1e1ff
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+import sys, time, struct
+from bup import hashsplit, git, options, client
+from bup.helpers import *
+from subprocess import PIPE
+
+
+optspec = """
+bup join [-r host:path] [refs or hashes...]
+--
+r,remote=  remote repository path
+"""
+o = options.Options('bup join', optspec)
+(opt, flags, extra) = o.parse(sys.argv[1:])
+
+git.check_repo_or_die()
+
+if not extra:
+    extra = linereader(sys.stdin)
+
+ret = 0
+
+if opt.remote:
+    cli = client.Client(opt.remote)
+    cat = cli.cat
+else:
+    cp = git.CatPipe()
+    cat = cp.join
+
+for id in extra:
+    try:
+        for blob in cat(id):
+            sys.stdout.write(blob)
+    except KeyError, e:
+        sys.stdout.flush()
+        log('error: %s\n' % e)
+        ret = 1
+
+sys.exit(ret)