-elif pack_writer: # tree or commit or name
- shalist = hashsplit.split_to_shalist(pack_writer.new_blob,
- pack_writer.new_tree,
- files,
- keep_boundaries=opt.keep_boundaries,
- progress=prog)
- tree = pack_writer.new_tree(shalist)
+elif opt.tree or opt.commit or opt.name:
+ if opt.name: # insert dummy_name which may be used as a restore target
+ mode, sha = \
+ hashsplit.split_to_blob_or_tree(new_blob, new_tree, files,
+ keep_boundaries=opt.keep_boundaries,
+ progress=prog)
+ splitfile_name = git.mangle_name(b'data', hashsplit.GIT_MODE_FILE, mode)
+ shalist = [(mode, splitfile_name, sha)]
+ else:
+ shalist = hashsplit.split_to_shalist(
+ new_blob, new_tree, files,
+ keep_boundaries=opt.keep_boundaries, progress=prog)
+ tree = new_tree(shalist)