This makes the code *and* documentation a little nicer.
Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
# SYNOPSIS
-bup save [-r *host*:*path*] <-t|-c|-n *name*> [-0|-9] [-f *indexfile*]
+bup save [-r *host*:*path*] <-t|-c|-n *name*> [-#] [-f *indexfile*]
[-v] [-q] [--smaller=*maxsize*] <paths...>
# DESCRIPTION
"bup save -n chroots --graft /root/chroot/a/etc=/chroots/a"
would be saved as */chroots/a/etc*
--0
-: set the compression level to 0 (no compression)
+-*#*, --compress=*#*
+: set the compression level to # (a value from 0-9, where
+ 9 is the highest and 0 is no compression). The default
+ is 1 (fast, loose compression)
- If no compression level is set it defaults to 1.
-
--9
-: set the compression level to 9 (highest compression, slowest)
-
- If no compression level is set it defaults to 1.
# EXAMPLE
# SYNOPSIS
bup split [-r *host*:*path*] <-b|-t|-c|-n *name*> [-v] [-q]
- [--bench] [--max-pack-size=*bytes*] [-0|-9]
+ [--bench] [--max-pack-size=*bytes*] [-#]
[--max-pack-objects=*n*] [--fanout=*count]
[--git-ids] [--keep-boundaries] [filenames...]
like k, M, or G to specify multiples of 1024,
1024*1024, 1024*1024*1024 respectively.
--0
-: set the compression level to 0 (no compression)
-
- If no compression level is set it defaults to 1.
-
--9
-: set the compression level to 9 (highest compression, slowest)
+-*#*, --compress=*#*
+: set the compression level to # (a value from 0-9, where
+ 9 is the highest and 0 is no compression). The default
+ is 1 (fast, loose compression)
# EXAMPLE
strip strips the path to every filename given
strip-path= path-prefix to be stripped when saving
graft= a graft point *old_path*=*new_path* (can be used more than once)
-0 set compression-level to 0
-9 set compression-level to 9
+#,compress= set compression level to # (0-9, 9 is highest) [1]
"""
o = options.Options(optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])
if not extra:
o.fatal("no filenames given")
-if opt['0']:
- compression_level = 0
-elif opt['9']:
- compression_level = 9
-else:
- compression_level = 1
-
opt.progress = (istty2 and not opt.quiet)
opt.smaller = parse_num(opt.smaller or 0)
if opt.bwlimit:
else:
cli = None
oldref = refname and git.read_ref(refname) or None
- w = git.PackWriter(compression_level=compression_level)
+ w = git.PackWriter(compression_level=opt.compress)
handle_ctrl_c()
max-pack-objects= maximum number of objects in a single pack
fanout= maximum number of blobs in a single tree
bwlimit= maximum bytes/sec to transmit to server
-0 set compression-level to 0
-9 set compression-level to 9
+#,compress= set compression level to # (0-9, 9 is highest) [1]
"""
o = options.Options(optspec)
(opt, flags, extra) = o.parse(sys.argv[1:])
else:
date = time.time()
-if opt['0']:
- compression_level = 0
-elif opt['9']:
- compression_level = 9
-else:
- compression_level = 1
-
-
-
total_bytes = 0
def prog(filenum, nbytes):
global total_bytes
if opt.noop or opt.copy:
cli = pack_writer = oldref = None
elif opt.remote or is_reverse:
- cli = client.Client(opt.remote, compression_level = compression_level)
+ cli = client.Client(opt.remote, compression_level=opt.compress)
oldref = refname and cli.read_ref(refname) or None
pack_writer = cli.new_packwriter()
else:
cli = None
oldref = refname and git.read_ref(refname) or None
- pack_writer = git.PackWriter(compression_level = compression_level)
+ pack_writer = git.PackWriter(compression_level=opt.compress)
if opt.git_ids:
# the input is actually a series of git object ids that we should retrieve
break
szbits = sz & 0x7f
sz >>= 7
+ if compression_level > 9:
+ compression_level = 9
+ elif compression_level < 0:
+ compression_level = 0
z = zlib.compressobj(compression_level)
yield szout
yield z.compress(content)