diff -r c547e1acc37c -r 361ab1e2086f mercurial/scmutil.py --- a/mercurial/scmutil.py Wed Oct 17 21:39:07 2012 -0500 +++ b/mercurial/scmutil.py Wed Oct 17 21:42:06 2012 -0500 @@ -27,9 +27,13 @@ else: ui.status(_("no changes found\n")) -def checknewlabel(repo, lbl): +def checknewlabel(repo, lbl, kind): if lbl in ['tip', '.', 'null']: raise util.Abort(_("the name '%s' is reserved") % lbl) + for c in (':', '\0', '\n', '\r'): + if c in lbl: + raise util.Abort(_("%r cannot be used in a %s name") % + (c, kind)) def checkfilename(f): '''Check that the filename f is an acceptable filename for a tracked file'''