Cam*_*oft 5 linux svn version-control tortoisesvn
我有一个包含以下目录的存储库:
trunk目录包含主要的开发线.我为存储库创建了一个post-commit钩子脚本,用于在用户提交回存储库时更新(trunk)工作副本.
它看起来像这样:
/usr/bin/svn update /path/to/a/working/copy
Run Code Online (Sandbox Code Playgroud)
我刚刚创建了一个代码分支,因为我即将开始一些重大更改但是注意到当我将更改提交到分支时,它会调用post-commit钩子并更新工作副本(trunk的副本).
有没有办法可以修改我的post-commit钩子脚本或我可以创建的设置,只有在提交到trunk目录而不是任何其他目录时才会更新工作副本?
正如您在本文档中看到的,参数被传递到提交后脚本。
存储库将两个参数传递给该程序:存储库的路径和创建的新修订号。
提交后挂钩可以是任何类型的任何程序:bash 脚本、C 程序、python 脚本...发生的情况是 shell 使用两个参数启动该程序。
您可以在此处找到有趣的脚本列表。一个好的开始是这个 python 脚本,它使用 python svn 库。
请注意,提供的路径与您正在签入的文件的路径不同(请参阅Paul 的回答)。但是,将此信息与 revnum 一起使用应该可以帮助您获取更改列表,从中您可以确定是否已在主干上完成操作。