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

Tow*_*wer 6 svn git repository

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

Wil*_*ara 7

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

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

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

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

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

Start-update
在显示更新到修订对话框之前调用.


在实际的Subversion更新开始之前调用Pre-update .

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

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

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


pav*_*imo 1

您可以在各种事件(事件前和事件后)上从命令行使用SVN 挂钩来运行自定义脚本。

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

  • TortoiseSVN 不是“核心 SVN 上的 GUI 层”。TortoiseSVN 是一款独立开发的应用程序,利用已发布的 SVN 库。它实现了 SVN.EXE 中没有的多项功能,例如客户端挂钩脚本(一个示例)。SVN 挂钩是服务器端的。当用户对其本地工作副本执行 SVN UPDATE 时,它们不会运行。 (3认同)