我想在VisualSVN服务器上运行某种post commit钩子脚本,以便将文件(或简单地编辑文件)添加到存储库,其中包括修订号(和其他修订信息)。我知道这可以使用客户端脚本实现,但我想在服务器上执行此操作。 有什么想法吗?它有可能吗?
答案 0 :(得分:4)
您可以通过VisualSVN服务器管理器管理服务器挂钩:
在对话框中,它告诉您修订号是第2个参数。使用修订号,您可以使用svn.exe
和svnlook.exe
执行许多其他任务......任何用途?
答案 1 :(得分:1)
从技术上讲,您可以使用提交后挂钩脚本来执行任务。但是你应该明白,你不能修改原始事务本身(即不要尝试 start - 或 pre - 提交钩子。补充文件的提交与修订细节必须单独进行。
要检索其他修订数据,您可以use svnlook.exe
in your hook。
请参阅SVNBook:
虽然钩子脚本几乎可以做任何事情,但是有一个维度 哪个钩子脚本作者应该表现出克制:不要修改 使用钩子脚本提交事务。虽然它可能很诱人 使用钩子脚本来自动纠正错误,缺点或 在提交的文件中存在策略违规,这样做可以 引起问题。 Subversion保留了某些位的客户端缓存 存储库数据,如果以这种方式更改提交事务, 那些缓存变得难以辨认。这种不一致可能导致 令人惊讶和意外的行为。而不是修改 事务,你应该简单地验证交易 预提交挂钩并拒绝提交,如果它不符合所需 要求。作为奖励,您的用户将学习细心的价值, 合规的工作习惯。