有没有办法在存储库更新/切换后自动触发shell命令?

时间:2010-08-17 18:05:41

标签: svn git repository

我想在运行git pullsvn update(在另一个项目中)后执行一个处理缓存文件和编译的shell命令?

2 个答案:

答案 0 :(得分:7)

关于SVN:不确定这是否有用,但如果您使用TortoiseSVN,则可以使用客户端钩子脚本:

目前有六种类型的钩子脚本可用

开始提交
在显示提交对话框之前调用。如果钩子修改了版本化文件并影响了需要提交和/或提交消息的文件列表,则可能需要使用此方法。但是,您应该注意,因为在早期调用了挂钩,所以选择用于提交的完整对象列表不可用。

预提交
在用户在提交对话框中单击“确定”之后,在实际提交开始之前调用。这个钩子有一个确切的提交列表。

提交后
提交完成后调用(无论是否成功)。

启动更新
在显示更新到修订对话框之前调用。

预更新
在实际的Subversion更新开始之前调用。

后更新
更新完成后调用(无论是否成功)。

为特定的工作副本路径定义了一个钩子。您只需指定顶级路径;如果您在子文件夹中执行操作,TortoiseSVN将自动向上搜索匹配的路径。

接下来,您必须指定要执行的命令行,从钩子脚本或可执行文件的路径开始。这可以是批处理文件,可执行文件或具有有效Windows文件关联的任何其他文件,例如。一个perl脚本。

答案 1 :(得分:1)

您可以在命令行中使用 SVN hooks ,在各种事件(前后)上运行自定义脚本。

似乎没有“更新”事件的挂钩,请参阅here并收集详细信息。