0

我在本地设置了一个 svn 服务器,然后尝试设置用户名/密码系统,但不知何故不起作用。我保持原样,因为基本的 co 和 ci 运行良好,并且 repo 是一致的。

但是在进行了大约 20 次提交操作之后,当我查看 时svn log,它显示了由其他用户名(在本例中为“test”)完成的所有更新。我厌倦了在不提供任何用户名的情况下签出新副本,然后再次签入。令我惊讶的是,它又是同一个用户名“test”。

的输出svn log

------------------------------------------------------------------------
r20 | test | 2012-07-29 22:58:03 +0530 (Sun, 29 Jul 2012) | 1 line

Added useful svn commands.

那么,svn 从哪里选择这个默认用户呢?我希望通过我的用户名登录提交,即登录名“mtk”,而不是其他用户名“test”。

任何指针?

谢谢

4

1 回答 1

1

在标准的默认命令行客户端中,身份验证存储在$HOME/.subversion/auth目录下。在您的情况下,可能在$HOME/.subversion/auth/svn.simple目录下。

如果 Subversion 客户端找到与 URL 匹配的身份验证记录,它将使用该用户和密码作为默认值。这样,您不必每次在 Subversion 中做某​​事时都保持登录。顺便说一句,默认情况下会缓存凭据,但您可以通过$HOME/.subversion/config文件更改它。

如果您使用svnserveSubversion 服务器,您的问题可能是没有正确设置svnserve.conf文件。这是许多初学者的普遍问题。转到存储库目录并编辑目录svnserve.conf中的文件conf

第 27 行周围是第 27 行# password-db = passwd。删除该前导#和空格。然后,您需要passwd使用所需的用户凭据编辑文件。那里已经有一个模板passwd文件。大多数初学者编辑该passwd文件,但忘记删除文件中指定使用哪个密码凭证文件#的前导。.svnserve.conf

于 2012-07-29T18:49:44.887 回答