if not extra: log("bup save: no filenames given.\n") o.usage() if opt.verbose >= 2: git.verbose = opt.verbose - 1 hashsplit.split_verbosely = opt.verbose - 1 refname = opt.name and 'refs/heads/%s' % opt.name or None if opt.remote: cli = client.Client(opt.remote) oldref = refname and cli.read_ref(refname) or None w = cli.new_packwriter() else: cli = None oldref = refname and git.read_ref(refname) or None w = git.PackWriter() def eatslash(dir): if dir.endswith('/'): return dir[:-1] else: return dir parts = [''] shalists = [[]] def _push(part): assert(part)
def read_ref(conn, refname): git.check_repo_or_die() r = git.read_ref(refname) conn.write('%s\n' % (r or '').encode('hex')) conn.ok()