我正在尝试通过 SVN 预提交挂钩检查我的外部。svn:external 包含一个通过多个项目共享的库。在 Pre-commit 钩子上,我想检查外部是否指向 Tag 目录而不是主干或分支。
在工作副本文件夹中的本地计算机上,我可以成功运行命令:
svn propget svn:externals
这让我回到了外部:
https://SVNSERVER/svn/Test_Lib/trunk Test_Lib
虽然这适用于我的本地机器,但我不能在 Pre-Commit 挂钩中使用 svn 命令,因此我需要一个 svnlook 命令。
这里开始了我的问题,我在 Pre-Commit 钩子上尝试了多个命令,例如:
svnlook propget %REPOS% svn:externals -t %TXN%
完全写出来就是:
svnlook propget C:\Repositories\Test_Project svn:externals -t 31-2y
我尝试了多种方法来放置%REPOS%
and %TXN%
,在它们周围加上和不加引号,("%REPOS%", "%TXN%")
并在 svn:externals 部分之前和之后移动它。
不幸的是,我尝试的所有操作都会导致缺少 propname 或存储库路径的错误消息
svnlook: E205001: Try 'svnlook help' for more info svnlook: E205001: Missing propname or repository path argument
我搜索了 Stack Overflow,发现 1 个人遇到了同样的问题,但他的问题没有得到答案:
有谁知道正确的语法,或者通过 Pre-commit 钩子请求 svn:externals 的不同方式?