return filter(lambda e:e.mark in self.parent_marks,self.repo.commits())
def is_tip(self):
"Is this commit a branch tip?"
+ # Added for rcs-fast-import
for child in self.children():
if child.branch == self.branch:
return False
msg["Property-" + hdr] = value
if empty_properties:
msg["Empty-Properties"] = ",".join(empty_properties)
+ # This is added for rcs-fast-import
+ msg["Mark"] = self.mark
+ if self.parent_marks:
+ msg["Parents"] = ", ".join(self.parent_marks)
msg.set_payload(self.comment)
return msg.as_string(False)
self.branches = set([])
self.import_line = 0
self.basedir = os.getcwd()
+ # __enter and __exit__ added for rcs-fast-import
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
self.import_line = 0
self.readtime = time.time()
# Resolve tags and branches
+ # Added for rcs-fast-import
for event in self.events:
if isinstance(event, Tag):
for commit in self.commits():
stdin into individual RCS master files in RCS subdirectories of the
corresponding directory structure.</para>
-<para>Normally, committer and author data are written into each comment as
-RFC-822 mail headers, followed by a blank line. The -p option suppresses
-this, producing a plain RCS comment.</para>
+<para>Normally, all import-stream per-commit metadata that RCS cannot
+represent natively is written into each comment as RFC-822 mail
+headers, followed by a blank line; this includes mark, committer and
+author data, mark cross-references to parent commits, and extension
+properties. The -p option suppresses this, producing a plain RCS
+comment.</para>
<para>With the -v option, emit a twirling-baton prompt during stream read and
do not suppress progess messages from the RCS tools.</para>
<refsect1 id='bugs'><title>BUGS</title>
<para>The following limitations are inherent in the RCS format:</para>
-<para>RCS has no way to represent merges. Accordingly, the information
-in import-stream <command>merge</command> commands is lost.</para>
-
-<para>Annotated tags cannot be preseved in a format readily accessible
+<para>Annotated tags cannot be preserved in a format readily accessible
to RCS. This tool deposits them as tagged revisions of a file named
<filename>ANNOTATED-TAGS</filename> in the toplevel RCS
directory.</para>