克隆临时文件夹中的git存储库时出现权限错误

有问题的代码比我认为的文字能解释的更多。我已对其进行了大规模简化,以使其易于阅读,但实质上,这就是我正在运行的内容。

def main():
    with tempfile.TemporaryDirectory() as td:
        for repo in repos:
            subprocess.run("git clone --mirror {} {}".format(os.path.join(td, repo.path), repo.url)

克隆部分工作正常,并成功浏览了整个列表。并不是说,当“ with ... as ...”退出时,它会引发以下错误(追溯从上下文管理器的__exit__开始):

    os.unlink(fullname)
PermissionError: [WinError 5] Access is denied: 'C:\\Users\\USERNAME\\AppData\\Local\\Temp\\tmp4ew2qffb\\sources\\REPONAME\\objects\\pack\\pack-abd0ff87083dbbcb90f707d8f2d53c730583bb6e.idx'

以管理员身份运行脚本也无济于事。这是怎么了?

评论