properly (that is, 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.
+Warning: All tag metadata other than the name will be lost. The person
+and 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
% (copyfile, os.path.dirname(path) or '.'))
if not dryrun:
shutil.copy(copyfile, os.path.dirname(path))
- with popen_or_die("ci " + " ".join(inargs), "checkin", "w") as fp:
+ responsible = event.authors[0] or event.committer
+ command = "ci "
+ command += " -w%s" % responsible.email
+ command += " -d'%s'" % responsible.date.rfc822()
+ command += " " + " ".join(inargs)
+ with popen_or_die(command, "checkin", "w") as fp:
fp.write(event.comment)
def rename(self, source, target):
"Perform RCS renames."