2012-10-02 104 views
-3

我可以在svn挂钩的Windows上编写一个命令,将某些文件夹自动重定位到存储库中的另一个位置?针对Windows的SVN挂钩

吊钩必须在服务器 运行例如:用户提交文件,在他的工作副本。(C:svnworkingcopy \ DEV) 在服务器将运行一个钩,并自动重新定位或复制该文件到存储库的另一个文件夹(HTTPS: // svnserver /只读) 该用户有权限只读。
紧急!

+3

简短回答...是的。但为什么?我试图想象为什么有人会想要这样做,只有想出来是可怕的。如果用户在第二条路径上只有只读访问权限,为什么会这么重要 - 它们可以简单地提交到第一条路径(实质上是写入访问)。 – thekbb

+2

为什么你需要这个? – bahrep

+0

这是一个组织的问题。 它将成为存储库的发布文件夹,就像管理员和开发人员之间的粘合剂。 只有svn的经理和管理员才能拥有完整的权限。 – user1714379

回答

2

svn switch --relocate用户的工作副本与钩子脚本?看起来你很混淆这些条款。不过我建议你检查以下警告在SVNBook

虽然钩子脚本几乎可以做任何事情,有在 一名维其中钩子脚本作者应该表现出克制:不修改 使用钩提交事务脚本。尽管 可能会使用挂接脚本自动更正提交的文件中存在的错误,缺陷或 策略违规,但这样做可能会导致问题 。 Subversion保留库位数据的某些位的客户端缓存,并且如果以这种方式更改提交事务,那么这些缓存将变得无法检测到陈旧。这种不一致可能导致 令人惊讶和意外的行为。 而不是修改 事务,您应该简单地验证 预提交挂钩中的事务,如果它不符合所需的 要求,则拒绝提交。作为奖励,您的用户将会学习到遵守标准的工作习惯的价值。