2 from __future__ import absolute_import
6 from bup import git, options
7 from bup.compat import argv_bytes
8 from bup.helpers import linereader, log
9 from bup.io import byte_stream
10 from bup.repo import LocalRepo, RemoteRepo
14 bup join [-r host:path] [refs or hashes...]
16 r,remote= remote repository path
21 o = options.Options(optspec)
22 opt, flags, extra = o.parse_bytes(argv[1:])
24 opt.remote = argv_bytes(opt.remote)
26 git.check_repo_or_die()
28 stdin = byte_stream(sys.stdin)
31 extra = linereader(stdin)
34 with RemoteRepo(opt.remote) if opt.remote else LocalRepo() as repo:
37 outfile = open(opt.o, 'wb')
40 outfile = byte_stream(sys.stdout)
42 for ref in [argv_bytes(x) for x in extra]:
44 for blob in repo.join(ref):
48 log('error: %s\n' % e)