Mercurial > public > mercurial-scm > hg
diff mercurial/changelog.py @ 8424:c5b3d3e30de7
changelog: refuse to add revisions with empty usernames
An empty username or a username with a "\n" will make the revision
text contain two "\n\n" sequences -> corrupt repository.
The problem is that changelog.read expects to find exactly one "\n\n"
separator and thus cannot unpack the revision.
author | Martin Geisler <mg@lazybytes.net> |
---|---|
date | Sat, 16 May 2009 11:12:49 +0200 |
parents | bd8f44638847 |
children | 3acc6279b364 |
line wrap: on
line diff
--- a/mercurial/changelog.py Fri May 15 16:12:09 2009 +0200 +++ b/mercurial/changelog.py Sat May 16 11:12:49 2009 +0200 @@ -202,6 +202,11 @@ user=None, 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))