From 19af03bcc6345ce57a62731e46860c035063930c Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Tue, 11 Nov 2014 22:11:16 -0500 Subject: [PATCH] Repair src fast-export. --- TODO | 3 --- src | 13 ++++++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/TODO b/TODO index 602c719..f62e367 100644 --- a/TODO +++ b/TODO @@ -15,6 +15,3 @@ * chungy reports timestamp issues messing up status on ZFS. * Can a comment with an embedded hypen really trigger "malformed comment?" - -* chungy says fast-export broke in "The big refactor introducing - CommandContext." diff --git a/src b/src index 6bd2b6b..257f9e1 100755 --- a/src +++ b/src @@ -823,7 +823,7 @@ def ls_method(*args): def fast_export_method(*args): "Dump revision content to standard output." - ctx = CommandContext("cat", args) + ctx = CommandContext("fast-export", args) mark = 0 if pseudotime: username = "J. Random Hacker" @@ -853,16 +853,15 @@ def fast_export_method(*args): # FIXME: Sanitize branch names. # FIXME: Make this canonical even with tags branch = arg + "master" - for revno in ctx: + for item in metadata: scratchfile = "/tmp/src%dtmp" % os.getpid() - backend.cat(arg, metadata.revno_to_rcs(revno), scratchfile) + backend.cat(arg, item.revision, scratchfile) size = os.path.getsize(scratchfile) mark += 1 - markmap[revno] = mark - item = metadata.by_revno(revno) + markmap[item.revno] = mark sys.stdout.write("blob\nmark :%d\ndata %d\n" % (mark, size)) sys.stdout.write(open(scratchfile).read() + "\n") - if revno == ctx.start: + if item.revno == ctx.start: if ctx.start == 1: sys.stdout.write("reset refs/heads/%s\n" % branch) else: @@ -877,7 +876,7 @@ def fast_export_method(*args): sys.stdout.write("M %s :%d '%s'\n\n" % (perms, mark, arg)) mark += 1 last_commit_mark = mark - markmap[revno] = mark + markmap[item.revno] = mark sys.stdout.write("reset refs/heads/%s\nfrom :%d\n\n" % (branch, mark)) for (key, val) in metadata.symbols.items(): val = metadata.rcs_to_revno(val) -- 2.43.0