+ def commit(self, text, author=None, author_name=None, author_email=None,
+ publishable=False, **kwargs):
+ """Commits a new revision.
+
+ This will automatically merge the commit into the main branch,
+ if parent is not document's head.
+
+ :param unicode text: new version of the document
+ :param parent: parent revision (head, if not specified)
+ :type parent: Change or None
+ :param User author: the commiter
+ :param unicode author_name: commiter name (if ``author`` not specified)
+ :param unicode author_email: commiter e-mail (if ``author`` not specified)
+ :param Tag[] tags: list of tags to apply to the new commit
+ :param bool publishable: set new commit as ready to publish
+ :returns: new head
+ """