使用lock command时:
svn lock TARGET...
您可以指定要锁定的多个目标路径。当这些被锁定时,Subversion是否会为每个目标重复该过程?我怀疑它确实如此,因为pre-lock hook script传递了5个参数,其中一个是(单个)目标路径。后锁钩不同,通过stdin传递所有路径。
这限制了预挂钩脚本可以做什么;如果是这种情况,是否有办法在处理锁之前访问所有目标路径?
对于上下文:我试图在给出锁定之前在所有路径上运行命令。此命令将返回用户可见的错误。当我在2个或更多路径上请求锁定时,错误被正确返回,但仅针对第一个路径。
答案 0 :(得分:0)
预锁定钩子脚本将检查需要锁定的所有路径。变量$ PATH将具有此值。如果您尝试锁定多个文件(例如3),变量$PATH
将遍历所有三个文件,并且其值将在运行时更改三次。
只需在预锁中添加以下行即可清楚地看到这一点。
echo $PATH >>/tmp/path.txt
锁定文件后,path.txt将包含您锁定的所有三个路径。
但是,下面的命令只显示一个路径,因为变量$ PATH一次只包含1个值。
echo $PATH >/tmp/path.txt
如果您可以根据您使用的确切要求和脚本进行更新,则可以提供更好的帮助。