我想在运行 git pull
或 svn update
(在另一个项目中)后执行一个 shell 命令来处理缓存文件和编译?
最佳答案
关于 SVN:不确定这是否有帮助,但如果您使用 TortoiseSVN,则可以使用客户端 Hook 脚本:
目前有六种类型的钩子(Hook)脚本可用
开始提交
在显示提交对话框之前调用。如果 Hook 修改版本化文件并影响需要提交的文件列表和/或提交消息,则您可能希望使用它。但是您应该注意,由于在早期阶段调用了 Hook ,因此选择提交的对象的完整列表不可用。
预提交
在用户单击提交对话框中的确定之后、实际提交开始之前调用。这个钩子(Hook)有一个列表,列出了将要提交的内容。
提交后
在提交完成后调用(无论成功与否)。
开始更新
在显示更新到修订对话框之前调用。
预更新
在实际的 Subversion 更新开始之前调用。
更新后
更新完成后调用(无论成功与否)。
为特定的工作副本路径定义了一个 Hook 。您只需要指定顶级路径;如果您在子文件夹中执行操作,TortoiseSVN 将自动向上搜索匹配的路径。
接下来您必须指定要执行的命令行,从 Hook 脚本或可执行文件的路径开始。这可以是批处理文件、可执行文件或具有有效 Windows 文件关联的任何其他文件,例如。一个 perl 脚本。
关于svn - 有没有办法在存储库更新/切换后自动触发 shell 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3505501/