2012-07-10 26 views
2

Subversion的一个问题是,它只能通过用户名识别提交。例如,Git允许将全名和电子邮件地址作为元信息添加到提交中。有些组织要求用户帐户难以映射到人员。其中一些组织也需要使用svn。制作这种情况下可行的代码评审使我以下的问题:是否有可能在Subversion上保留一些元信息提交

  • 是否有可能维持在提交一些元数据信息,这样我就可以有SVN做映射

,或者如果那是不可能的,

  • 我怎么会去这样做使用Git svn的我的本地系统上的映射?
+0

是不是已经足够让你只保留一个外部映射:subversion作者<->完整信息? – 2012-07-10 08:45:21

+0

外部映射对我个人来说很有用,但如果信息也可以在使用像fisheye这样的svn的工具中看到,那将会更好。 – iwein 2012-07-19 15:43:25

回答

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中< - >像SVN或subgit GIT中 - svn的也可以使用authors.txt映射以下列格式tranlation解决方案:

shortname = Long Name <[email protected]> 
anothername = Another Long Name <[email protected]> 
... 

路径authors.txt文件应该被由“core.authorsFile指定'配置选项在子文件或'--authors-file ='cli选项在git-svn中为每个git-svn命令(对于git-svn --authors-file只适用于SVN-> Git翻译,Git-> SVN总是在用户名下创建一个修订版本;对于subgit,该选项在两个方向都起作用)。

+0

我没有修复错字,因为UI不会让我。 s/tranlation/translation/ – iwein 2012-08-31 09:34:33

1

如果你需要用git-svn做一个“git用户”到“颠覆用户”的复杂映射,我推荐使用--authors-prog选项来“git svn clone”。例如,你可以创建my-complex-mapping.sh,它将subversion用户作为其第一个参数,然后回显你希望git使用的“Git User”名称。那么你会运行“git svn clone --authors-prog = $ HOME/my-complex-mapping.sh”

+0

对第二个问题非常有用的答案,谢谢! – iwein 2012-08-31 09:35:20

相关问题