gpt4 book ai didi

ruby - 并发 git clone 和 fetch

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:00 24 4
gpt4 key购买 nike

我有 10 个进程在同一台机器上运行,它们随时可以在同一个 git 存储库上运行 git clonegit fetch

显然这是一个问题,因为 git clone 会引发“directory already exist 并且 git fetch 会引发类似于 expected ref to be abcdfg但是在后续请求中是 hijklm。通常这些请求会同时发生,因此检查文件夹是否存在将不起作用,因为 git 可能正在创建它。

我的问题是:有没有一种方法可以检查 Git 当前是否正在克隆或正在获取某些内容?然后我可以编写我的程序以等待现有的提取完成直到继续。

我正在运行 Ubuntu 12 LTS,如果有帮助的话,我的进程是用 Ruby 编码的,尽管这无关紧要。

让我知道你的想法。

最佳答案

对于现有的存储库(因此在fetch期间),当Git运行时,它会写入一个文件到.git/index.lock。在运行新命令之前,您的进程应该等待该文件被清除。

关于ruby - 并发 git clone 和 fetch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22047769/

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