2010-10-20

关于限制低版本 Subversion 写操作问题的回复

有网友提问:
我在百度文库中看到贵公司发表的一篇文章《开源版本控制SVN 树冲突、目录丢失问题及解决机制探讨》。在文中有提到一个事情是,可以在svn的hook中设置禁止低于某版本的客户端提交操作,不知道具体的脚本是如何实现,还请指教,谢谢。 另外关于svn mergeinfo的问题,对于刚刚创建完的mergeinfo信息是纯在的,但是在开发过一段时间后,这个信息就丢失了,导致在合并的时候出现找不到祖先的错误。(备份库中的mergeinfo信息还是存在的)。不知道这个问题的发生时什么原因呢?
我认为并非因为有人使用了低版本(<1.5)的 SVN 客户端导致了 svn:mergeinfo 属性的丢失。因为低版本的 SVN 客户端,不了解 svn:mergeinfo 属性,又怎么能够会删除该属性呢? 使用低版本 SVN 客户端的副作用主要是在执行 merge 的过程中,不能将合并操作记录在 svn:mergeinfo 中,而不是会删除 svn:mergeinfo 属性。 实际上找到罪魁祸首很容易,因为 svn:mergeinfo 是受版本控制的属性,可以通过 svn log 命令查到何时,何人,何故删除了 svn:mergeinfo 属性。只需要执行下面的命令:
$ svn log -v  PATH/TO/MERGE/ROOT/DIR
提到的钩子,对于你的情况:
blog comments powered by Disqus