如何将svn钩子链接到签出存储库

时间:2012-08-09 12:29:52

标签: svn pre-commit-hook svn-hooks

如何将svn hooks链接到签出存储库? 我查看了一个SVN回购样本。使用SVN-admin选项,我创建了svn repo(?),它有样本钩子。 但是,如何将我新编写的脚本链接到本地​​签出的回购?它需要,因为我在放入管理区域之前在本地测试了脚本。

由于

1 个答案:

答案 0 :(得分:2)

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

如果您尝试测试钩子脚本,则需要先set up a repository on your local machine。您可以{"真实" make your local repo act as a mirror回购,或者您可以使用您的数据副本为您的本地仓库提供种子。要做到后者,程序看起来像这样:

  1. 使用svn export抓取您的"真实"的快照回购。使用export代替checkout非常重要,因为export不会创建通常存在的Subversion元数据文件夹(这很重要)。
  2. 使用svn import将此树加载到本地存储库中。
  3. 这将导致本地存储库的HEAD看起来与您的"真实"的HEAD完全相同。回购。您的本地仓库不具备完整的历史记录,因为它不是完整的镜像,但它将具有相同的文件和文件夹布局。大多数情况下,这足以用于测试脚本。