好的,既然您可以创建由多个用户组成的组,并且稍后可以使用@<groupname>来引用它们,那么在常规用户名中使用@可能会成为一个问题。
这是在创建新svn存储库时生成的默认authz文件示例中的内容:
[groups]
harry_and_sally = harry,sally
[repository:/baz/fuz]
@harry_and_sally = rw
这将给予组'harry_and_sally'的用户对'/baz/fuz'仓库的读写权限。
Subversion在内部实际上使用UTF-8存储所有数据,包括用户名,因此对于您可以为用户命名的内容没有真正的限制。例如,我刚刚创建了一个提交并使用了这个用户名:
'Й, ק, م, ๗, あ, 叶, 葉, and 말.'
问题在于,其他程序可能会为特殊目的保留某些字符,例如 svn passwd 文件中的 [、= 和 #。Subversion 可以处理更广泛范围的用户名,但该特定文件格式不能。如果您发现自己无法使用某些字符,则是链中的其他链接的限制,例如 Apache 或您的 IDE 或数据库等。
这并不太有帮助,因为您可能无法轻松修复导致此问题的任何内容或切换工具,但这就是当今“奇怪”字符的状态。
它允许在用户名中使用“.”,但从未尝试过“@”。
在我的$JOB公司,电子邮件地址是Subversion的标准用户名,因此它必须正常工作。
然而,在我的团队中,我们坚持要求使用我们的(也是全公司通用的)Windows用户名,这些用户名往往不超过8个字符。像Reallylongfirst.Andlastname@amazing-products.com
这样的用户名在标准GUI日志查看器中会导致可用性问题,并且与svn blame
不兼容。
protocol://user@host:port/path
。svn也使用了这种方式,因此@
字符是特殊的。我没有尝试过,但我相当有信心你可以转义它(如%40
)使其正常工作。然而,在我的看法中,使用完整的电子邮件地址作为用户名是一个相当糟糕的主意。如果你在公司内部,为什么不能使用本地部分呢?其他所有内容很可能对所有用户都是相同的,因此你只是重复信息——并且它不会与日志视图很好地配合使用。
另请参见RFC 3986。