Subversion是否单独锁定路径?可以在分组模式下完成吗



使用锁定命令时:

svn lock TARGET...

可以指定多个要锁定的目标路径。当这些被锁定时,Subversion是否为每个目标重复该过程?我怀疑它确实存在,因为锁前挂钩脚本传递了5个参数,其中一个是(单个)目标路径。post-lock钩子不同,它通过stdin传递所有路径。

这限制了使用预挂接脚本可以完成的操作;如果是这种情况,是否有一种方法可以在处理锁之前访问所有目标路径?

对于上下文:我试图在给定锁之前在所有路径上运行一个命令。此命令将返回一个用户可见的错误。当我请求锁定2个或多个路径时,会正确返回错误,但仅针对第一个路径。

预锁定挂钩脚本将检查所有需要锁定的路径。变量$PATH将具有此值。如果您试图锁定多个文件,例如3,变量$PATH将遍历所有三个文件,并且其值在运行期间将更改三次。

只需在预锁中添加以下行,您就可以非常清楚地看到这一点。

echo $PATH >>/tmp/path.txt

锁定文件后,path.txt将包含已锁定的所有三个路径。

但是,下面的命令将只显示一个路径,因为变量$path一次只包含一个值。

echo $PATH >/tmp/path.txt

如果您能够根据确切的需求和正在使用的脚本进行更新,可能会提供更好的帮助。

相关内容

最新更新