我有一个储存库,具有以下目录:

  • 树枝
  • 标签
  • 树干

干线目录中包含的主要线路的发展。我已经创建了一个后提交钩脚本用于储存库的更新工作复制(干)当用户提交回仓库。

它看起来像这样的东西:

/usr/bin/svn update /path/to/a/working/copy

我刚创建了一个分行代码我就要开始一些重大变化,但注意到,当我承诺我的变化分支,它呼吁后的承诺挂钩和更新工作复制(复制干线).

有没有一样我可以修改我的文章-承诺挂钩脚本或设置,我可以做的,只会更新的工作副本,如果提交了干线目录和没有任何其他目录?

有帮助吗?

解决方案

你可以看到 这个文件, 参数是通过以后提交的脚本。

库通过两个参数对这一程序:路径的储存库,而新的修订数,已创建。

后提交的挂钩可能是任何程序的任何类型:bash脚本,C节目,蟒蛇剧本...什么情况是,该外壳启动这种程序,具有两个参数。

你可以找到一系列有趣的脚本 在这里,.一个良好的开端将是 这python脚本, ,其使用python svn库。

请注意,提供的路径不一样的路径的文件,你在检查(见 保罗的答案).但使用这种信息与revnum应该帮助你来得到更改的列表,从中可以确定,如果操作已经完成对干线或没有。

其他提示

除了 的答案,从Bishiboosh, 它值得注意的是,挂钩可以 任何 程序。也就是说,如果你想,你可以写的程序 C.的参数,这些参数是通过描述 在医生.

一个良好的储存库的脚本来获得灵感,看一看 颠复工具页.在一般情况下,如果你想要做一些条件处理基于交易的内容,以及你,因为你只需处理,如果文件是在主干,那么这将是最简单的使用蟒蛇,因为这涉及一堆的工具的审查的交易。 这个脚本 是一个很好的地方开始寻找灵感。

请注意,路径参数,是不一样的路径的文件检查。你可能具有的多个文件的签毕竟...是什么你是传递的位置存储库,并修订的变化。使用这两条信息,你可以得到的信息有关的改变从储存库,并使用这些信息来决定是否执行一项行动或不在后承诺挂钩。

这里是 另一个例子 (Perl),明确地检查路径的文件的签。这是一个更复杂的脚本,但最有可能的主要部分可以扯出和重新使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top