我有一个Subversion存储库,有很多用户检查进出.但是,我还需要经常为其他人办理工作.我需要跟踪作品的原作者.
我正在考虑在SVN中创建一个属性,比如"originalauthor",它可以追踪这个.如果它是空的,我可以使用作者.如果填写完毕,我可以适当地归因于这些变化.
但是,我看不到添加不会在多个修订版中保留的属性的方法.类似地,似乎没有办法使用提交钩子来保证如果存在不包含它的提交,将删除"originalauthor"属性.
我总是可以在服务器上重写密码文件以允许我在他们的用户名下提交,然后恢复原始密码文件,但这似乎很笨重(并且不让我跟踪它代表他们检查的事实).或者我可以创建一个额外的用户(因此对于每个"用户A"都有一个"用户A代理"),我可以用它来检查更改.这些选项似乎都不具吸引力.
有什么建议或想法吗?
Subversion有两种属性
文件或目录上的属性.这些属性是版本化的
修订属性.这些特定于它们适用的回归.
第一种类型仅在您希望标记文件的所有版本时才有用.
为了标记特定路径,Subversion项目本身会以特殊格式将原始作者添加到日志消息中,该格式由contribulyzer脚本读取:
Patch by: Jan Jansen
但是如果你有工具可用(并且可以假设颠覆1.5+)你也可以使用
svn commit --with-revprop "original-author=Jan Jansen"
创建orignal-author修订版属性.
要检索该属性,您可以使用svn log作为:
svn log <...> --with-revprop original-author