]> thyrsus.com Git - src.git/commitdiff
Repair src fast-export.
authorEric S. Raymond <esr@thyrsus.com>
Wed, 12 Nov 2014 03:11:16 +0000 (22:11 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Wed, 12 Nov 2014 03:11:16 +0000 (22:11 -0500)
TODO
src

diff --git a/TODO b/TODO
index 602c7193ae7381a1657df2dd9ab26b75d5b1d5ac..f62e367e0ae447beb1f89be78b5880cd7b113052 100644 (file)
--- 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 6bd2b6b20e11b15776c1288ab6d5d6be91d6e9e3..257f9e19a34241de0eceb279eddac5f384001c96 100755 (executable)
--- 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)