如何将 svn 挂钩链接到签出的存储库?我已经检查了一个示例 SVN 存储库。使用 SVN-admin 选项,我创建了 svn repo(?),其中包含示例 hooks 。但是,如何将我新编写的脚本链接到本地签出的仓库?它需要,因为我在放入管理区域之前在本地测试了脚本。
谢谢
如何将 svn 挂钩链接到签出的存储库?我已经检查了一个示例 SVN 存储库。使用 SVN-admin 选项,我创建了 svn repo(?),其中包含示例 hooks 。但是,如何将我新编写的脚本链接到本地签出的仓库?它需要,因为我在放入管理区域之前在本地测试了脚本。
谢谢
我认为这里可能存在一些与术语相关的混淆。如果您使用 签出存储库svn checkout
,则您拥有的不是存储库。这是一个工作副本。您不能对工作副本执行存储库操作(如commit
或branch
),只能对存储库执行。
如果您尝试测试钩子脚本,您需要首先在本地机器上设置一个存储库。您可以让本地存储库充当“真实”存储库的镜像,也可以使用数据副本为本地存储库播种。要执行后者,过程如下所示:
svn export
获取“真实”回购的快照。使用export
代替checkout
很重要,因为export
不会创建通常存在的 Subversion 元数据文件夹(这很重要)。svn import
将此树加载到本地存储库中。这将导致本地存储库的 HEAD 看起来与“真实”存储库的 HEAD 完全相同。你的本地仓库不会有完整的历史记录,因为它不是一个完整的镜像,但它会有相同的文件和文件夹布局。大多数时候,这对于测试脚本来说已经足够了。