允许任何用户名提交到 SVN

Posted

技术标签:

【中文标题】允许任何用户名提交到 SVN【英文标题】:Allow ANY username to commit into SVN 【发布时间】:2013-08-05 13:13:24 【问题描述】:

要从我们的旧 VCS 迁移,我想永久启用以任何用户名和不提示密码的方式提交到我们的存储库。 我的脚本运行如下:

svn --username ANYNAME commit -m "testmsg" C:\path\to\file.txt

我需要服务器接受我为 ANYNAME 输入的任何名称,并且它不能要求输入密码,以便我的脚本可以继续提交。 这可能吗?

我使用 VisualSVN,我的服务器在 Http 上运行,而不是 Https。

请帮忙,

谢谢!

【问题讨论】:

你的任务是什么?看来你走错路了。 【参考方案1】:

这将取决于您的 svn 服务器身份验证是如何设置的。 如果要绕过身份验证,则需要相应地设置服务器,但这是一个非常糟糕的主意。你怎么知道谁签入了代码?

另一种方法是,您可以为所有 svn 工作使用通用用户,然后您可以在脚本中硬编码用户名/密码。

【讨论】:

【参考方案2】:

我后来通过编辑属性解决了我的问题,所以我没有使用假用户名提交,我不能让我的服务器这样做,而是这样做:

svn propset --revprop -r HEAD svn:author NEW_AUTHOR_NAME

要完成这项工作,您必须启用“pre-revprop-change-hook”(例如 here)

因为有人问 - 我的任务是将我们的代码的完整历史迁移到 Subversion,直到现在它由一个非常过时的版本控制系统 (QVCS) 管理。 为此,我必须编辑每个用户,因为其中一些不再在这里工作,所以我必须让我的系统相信我;)

通常我不会这样做,甚至不允许我们的服务器接受这样的属性更改,因为编辑和输入任何作者姓名都是不可行的。

【讨论】:

以上是关于允许任何用户名提交到 SVN的主要内容,如果未能解决你的问题,请参考以下文章

管理 svn、git 或 cvs 的工具

配置管理-SVN权限详解

SVN到Git的一键迁移脚本(保留所有分支、Tag及提交记录)

允许用户修改Subversion日志的钩子脚本 (linux)

如何更改默认 SVN 用户名和密码以提交更改?

svn客户端提交时要输入用户名和密码