]> thyrsus.com Git - rcs-fast-import.git/commitdiff
Since we preserve attribution in comment, simplify some logic.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 11 Nov 2010 16:56:32 +0000 (11:56 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 11 Nov 2010 16:56:32 +0000 (11:56 -0500)
rcs-fast-import
rcs-fast-import.xml

index 642532c8e59fb8b7a3810081d2d17c9ec878688d..369749be36b6295e7d872801fb21756e6edb0d8d 100755 (executable)
@@ -35,18 +35,6 @@ as to maximize access to the unpacked history.
 The -n option sets dry-run mode; parse the import stream, then go through
 all logic other than actually creating files.  Useful for debugging in
 combination with -v.
-
-R file operations rename corresponding RCS master files; C file operations
-copy them.
-
-If D, R, or C operations are present, the conversion will not
-round-trip properly (that is, the file structure after rcs-fast-export
-| rcs-fast-import won't be an exact copy) with differences near
-deleted, renamed, and copied files.
-
-Warning: All tag metadata other than the name will be lost.  The date
-imputed to commits is from the author metadata if that exists, otherwise
-from the committer metadata.
 """
 
 import sys, os, getopt, re, cStringIO, subprocess, shutil
@@ -599,17 +587,12 @@ class RCS:
                         os.link(copyfile, path)
                     except OSError:
                         raise FatalException("refusing to step on %s." % path)
-                responsible = event.authors[0] or event.committer
                 if roundtrip:
                     comment = event.email_out()
                 else:
                     comment = event.comment
                 command = "ci -l"
-                # If we were going to try to match committer or author
-                # email addresses to local names, this would be the place
-                # to do it.  Not a whole lot of point in trying, though.
-                #command += " -w%s" % responsible.email
-                command += " -d'%s'" % responsible.date.rfc822()
+                command += " -d'%s'" % event.committer.date.rfc822()
                 command += ' -m"%s"' % comment.replace('"', '\\"')
                 command += " " + path + " " + RCS.master(path)
                 do_or_die(command, "checkin")
index a9d5184188296f8347cef0a5b487b1834baaa6dd..474fc450b62de2820d51d90426ce1e263e34515a 100644 (file)
@@ -67,10 +67,21 @@ copy them.</para>
 round-trip properly (that is the file structure after ,
 rcs-fast-export | rcs-fast-import won't be an exact copy) with
 differences near deleted, renamed, and copied files.</para>
+</refsect1>
+
+<refsect1 id='bugs'><title>BUGS</title>
+<para>This tool has not been tested with RCS versions earlier than 5.7.  
+It is likely they will throw errors on some tag and branch names that
+are legal in fast-import files.</para>
+
+<para>In each commit, the committer date entered in RCS metadata will
+be the committer date from the import stream, but the committer
+identity will be lost; all commits are checked in as if by the
+invoking user and identified with the invoking user's login name.
+However, complete attribution is preserved in comment headers unless
+the -p option was selected.</para>
 
-<para>Warning: All tag metadata other than the name will be lost.  The date
-imputed to commits is from the author metadata if that exists, otherwise
-from the committer metadata.</para>
+<para>All annotated-tag metadata other than its name will be lost.</para>
 </refsect1>
 
 <refsect1 id='returns'><title>ERROR RETURNS</title>