gpt4 book ai didi

linux - 并行 SVN 更新过程

转载 作者:太空狗 更新时间:2023-10-29 12:16:52 25 4
gpt4 key购买 nike

我需要在同一文件夹结构下在后台执行多个 SVN 更新过程,因为我有很多子文件夹并且想加快整个过程。

我有这样的文件夹结构:

/folder/subfolder1/
/folder/subfolder2/
/folder/subfolder3/
...
/folder/subfolder1000/

我正在尝试在 bash 脚本中做这样的事情:

svn up /folder/subfolder1 &
svn up /folder/subfolder2 &
svn up /folder/subfolder3 &

问题在于 SVN 提示 '/folder' 被锁定并且只有第一个任务正确完成,其他两个没有并得到这样的错误消息:

svn: Working copy '/folder' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)

是否有一种方法可以通过多个并行 SVN 进程以这种方式完成任务,因为一个一个地执行文件夹(由其他进程选择)需要很多时间才能完成?

P.S:我正在用高级编程语言 (PHP-CLI) 完成所有这些工作,但为了简单起见,我将其编写为 bash 脚本(遇到了同样的问题)。

最佳答案

在旧版本的 Subversion 中,每个子目录都有自己的 .svn 文件。如果您的 svn 足够旧,并且您在子目录中运行命令,那么我认为不会锁定父目录并且命令可以并行成功。像这样:

(cd /folder/subfolder1; svn up)&
(cd /folder/subfolder2; svn up)&
(cd /folder/subfolder3; svn up)&

虽然,老实说,我认为您的原始命令也应该有效,但我不明白为什么父目录被锁定。

关于linux - 并行 SVN 更新过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21634631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com