我们希望在所有开发工具中使用相同的用户ID,但这种来自subversion的限制不允许我们将电子邮件地址用作用户名。
答案 0 :(得分:2)
这实际上取决于你如何设置Subversion。 svnserve的标准Subversion内置身份验证可能不允许。和@(我没试过)。我使用Apache而不是内置的svnserve设置了我的Subversion存储库。在Apache下,您可以使用标准的Apache访问控制,如htpasswd文件,甚至可以与LDAP或Microsoft Active Directory集成。然后,您可以为Subversion用户使用电子邮件地址或AD登录。
答案 1 :(得分:2)
好吧,既然你可以创建由多个用户组成的组,然后使用@< groupname>来引用它们,我想在常规用户名中使用@可能是个问题。
这是在创建新的svn存储库时生成的默认authz文件中的示例:
[groups]
harry_and_sally = harry,sally
[repository:/baz/fuz]
@harry_and_sally = rw
这为组中的用户提供了对/ baz / fuz中存储库的harry_and_sally读写权限。
答案 2 :(得分:1)
Subversion实际上在内部使用UTF-8存储其所有数据,包括用户名,因此对用户命名的内容没有任何限制。例如,我刚刚与用户创建了一个提交:
'Й, ק, م, ๗, あ, 叶, 葉, and 말.'
问题是,其他程序可能会为特殊目的保留某些字符,例如svn passwd文件中的[,=和#。 Subversion可以处理更广泛的用户名,但特定的文件格式不能。如果您发现自己无法使用某些字符,则链接中的某些其他链接(如Apache或IDE或您的数据库)或其他任何链接都会受到限制。
这没有太大帮助,因为你可能无法轻易修复造成这个或切换工具的任何东西,但现在这就是“怪异”角色的状态。
答案 3 :(得分:0)
确实允许“。”在用户名中,从未尝试过@。
答案 4 :(得分:0)
在我的$ JOB公司电子邮件地址是Subversion的标准用户名,所以它必须有效。
然而,在我的团队中,我们坚持要求我们的(也是公司范围的)Windows用户名,这些用户名不得超过8个字符。像Reallylongfirst.Andlastname@amazing-products.com
这样的用户名会在标准的GUI日志查看器中造成可怕的可用性,并且与svn blame
不能很好地协同使用。
答案 5 :(得分:0)
构造包含用户名的URI的常用方法是
protocol://user@host:port/path
。 svn也使用它,所以@
字符是特殊的。我没有尝试,但我相信你可以逃脱它(如%40
)使它工作。但是,IMO使用完整的电子邮件地址作为用户名是一个相当糟糕的主意。如果你在公司内部,为什么不能使用本地部分?对于所有用户来说,其他所有内容都很可能是相同的,因此您只是重复信息 - 并且它不能很好地与日志视图一起使用。
另见RFC 3986。