subversion的一个问题是它只通过用户名来识别提交。例如,Git允许将全名和电子邮件地址作为元信息添加到提交中。某些组织需要难以映射到人员的用户帐户。其中一些组织也需要使用svn。使这种情况适用于代码审查员会引出以下问题:
或如果那是不可能的,
答案 0 :(得分:1)
您可以在任何subversion修订版上设置自定义修订版属性(有关详细信息,请参阅http://svnbook.red-bean.com/en/1.7/svn.advanced.props.html)。
$ svn propset property_name property_value -r<REV> --revprop
property 'property_name' set on repository revision <REV>
这可以在post-commit钩子脚本中调用(脚本可以查看修订版作者,查找短作者名称以使用一些映射文件解析完整的作者信息,例如authors.txt ---见下文)。
Git&lt; - &gt; SVN翻译解决方案(如subgit或git-svn)也可以使用以下格式的authors.txt映射:
shortname = Long Name <email@example.com>
anothername = Another Long Name <email2@example.com>
...
authors.txt文件的路径应该由subgit中的'core.authorsFile'配置选项指定,或者在git-svn中为每个git-svn命令指定'--authors-file ='cli选项(对于git-svn - authors-file仅适用于SVN-&gt; Git转换,Git-&gt; SVN始终在用户名下创建一个修订版;对于subgit,该选项在两个方向都有效。)
答案 1 :(得分:1)
如果你需要使用git-svn对“git用户”进行复杂的“subversion用户”映射,我建议使用--authors-prog选项来“git svn clone”。例如,您创建my-complex-mapping.sh,它将subversion用户作为其第一个参数,然后回显您希望git使用的“Git User”名称。然后你运行“git svn clone --authors-prog = $ HOME / my-complex-mapping.sh”