在VisualSVN的头文件中插入修订信息

时间:2009-03-23 09:46:36

标签: svn visualsvn-server svn-hooks

我想在VisualSVN服务器上运行某种post commit钩子脚本,以便将文件(或简单地编辑文件)添加到存储库,其中包括修订号(和其他修订信息)。我知道这可以使用客户端脚本实现,但我想在服务器上执行此操作。 有什么想法吗?它有可能吗?

2 个答案:

答案 0 :(得分:4)

您可以通过VisualSVN服务器管理器管理服务器挂钩:

  1. 启动服务器管理器,
  2. 选择存储库
  3. 行动|所有任务|管理挂钩。
  4. 在对话框中,它告诉您修订号是第2个参数。使用修订号,您可以使用svn.exesvnlook.exe执行许多其他任务......任何用途?

答案 1 :(得分:1)

从技术上讲,您可以使用提交后挂钩脚本来执行任务。但是你应该明白,你不能修改原始事务本身(即不要尝试 start - pre - 提交钩子。补充文件的提交与修订细节必须单独进行。

要检索其他修订数据,您可以use svnlook.exe in your hook

请参阅SVNBook

  

虽然钩子脚本几乎可以做任何事情,但是有一个维度   哪个钩子脚本作者应该表现出克制:不要修改   使用钩子脚本提交事务。虽然它可能很诱人   使用钩子脚本来自动纠正错误,缺点或   在提交的文件中存在策略违规,这样做可以   引起问题。 Subversion保留了某些位的客户端缓存   存储库数据,如果以这种方式更改提交事务,   那些缓存变得难以辨认。这种不一致可能导致   令人惊讶和意外的行为。而不是修改   事务,你应该简单地验证交易   预提交挂钩并拒绝提交,如果它不符合所需   要求。作为奖励,您的用户将学习细心的价值,   合规的工作习惯。