--- a/mercurial/changelog.py Sat May 16 08:46:42 2009 +0200
+++ b/mercurial/changelog.py Sat May 16 11:16:23 2009 +0200
@@ -201,6 +201,11 @@
def add(self, manifest, files, desc, transaction, p1, p2,
user, date=None, extra={}):
user = user.strip()
+ # An empty username or a username with a "\n" will make the
+ # revision text contain two "\n\n" sequences -> corrupt
+ # repository since read cannot unpack the revision.
+ if not user:
+ raise error.RevlogError(_("empty username"))
if "\n" in user:
raise error.RevlogError(_("username %s contains a newline")
% repr(user))