-2

如何将 svn 挂钩链接到签出的存储库?我已经检查了一个示例 SVN 存储库。使用 SVN-admin 选项,我创建了 svn repo(?),其中包含示例 hooks 。但是,如何将我新编写的脚本链接到本地​​签出的仓库?它需要,因为我在放入管理区域之前在本地测试了脚本。

谢谢

4

1 回答 1

2

我认为这里可能存在一些与术语相关的混淆。如果您使用 签出存储库svn checkout,则您拥有的不是存储库。这是一个工作副本。您不能对工作副本执行存储库操作(如commitbranch),只能对存储库执行。

如果您尝试测试钩子脚本,您需要首先在本地机器上设置一个存储库。您可以让本地存储库充当“真实”存储库的镜像,也可以使用数据副本为本地存储库播种。要执行后者,过程如下所示:

  1. 用于svn export获取“真实”回购的快照。使用export代替checkout很重要,因为export不会创建通常存在的 Subversion 元数据文件夹(这很重要)。
  2. 用于svn import将此树加载到本地存储库中。

这将导致本地存储库的 HEAD 看起来与“真实”存储库的 HEAD 完全相同。你的本地仓库不会有完整的历史记录,因为它不是一个完整的镜像,但它会有相同的文件和文件夹布局。大多数时候,这对于测试脚本来说已经足够了。

于 2012-08-09T16:31:58.727 回答