在Subversion中创建标记时是否有可用的钩子?

时间:2010-10-08 17:31:25

标签: svn tortoisesvn tagging svn-hooks

我认为问题解释了这一切,但让我解释一下我想做什么。

我正在玩弄在我的仓库中创建标签的想法,自上一个标签以来输入的所有提交消息都被输入到维基页面。这样,人们就不需要访问subversion服务器来查看为每个标记做出的提交。

也许有一种更简单的方法,但我想我可以通过连接钩子来创建标签。思考?建议?

由于

1 个答案:

答案 0 :(得分:2)

svn没有“标签创建”操作,所有文件夹的名称,如标签 trunk 等 - 都只是标准SVN存储库布局的惯例。你所谓的“标签创建”实际上是一个新的svn位置的创建(在服务器端特别知道从另一个位置复制)。对文件的所有操作 - 上传更改,添加新文件,删除,甚至更改svn属性 - 都是提交操作。这就是为什么你需要的是编写一个脚本并将其设置为a pre-commit or post-commit hook on SVN server

根据你描述的任务,我可以就如何看待实施提出一个想法。 此脚本应检查提交的路径(或之后)是否显示 some_svn_path/tags/tag_name ,然后在此文件夹中找到上一个标记 some_svn_path/tags/tag_name_prev 并获取它的svn修订版,然后从当前事务(从中复制此标记的路径)获取原始路径,可能 some_svn_path/trunk ,最后从原始svn路径获取从前一个标记的修订版到当前版本的日志消息。