并发访问git存储库

时间:2012-08-20 14:06:36

标签: git git-svn

有一个git存储库,它在固定的时间段(例如1小时)内从svn(git svn fetch)更新。完成提取后,refs/heads的每个分支都会使用refs/remotes的相应分支进行更新。 refs/heads中的Svn分支仅在此更新过程中更新,并且没有其他人具有对它们的写入权限。

我想知道在svn更新过程中是否有可能破坏存储库访问它?例如,克隆整个存储库,从中获取最新的更改或推送(而不是svn分支)。

1 个答案:

答案 0 :(得分:1)

根据个人经验,我公司使用SVN存储库作为主存储库,每20分钟就会对SVN存储库进行一次新的修订。

运行git-svn命令时,它会记住脚本中的最后一个修订版git-svn开始运行。例如,如果svn存储库中有新的修订版本,则不会将新版本提取到Git存储库。它将在您下次运行git svn fetch命令时获取到git存储库。

我遇到的最大问题是,我关闭了git svn fetch仍在运行的笔记本电脑,但我不会注意到它,因为它是任务调度程序中的后台进程。因此,在这种情况下,它可能在git存储库中具有锁定文件。如果锁定文件发生,则在您删除git存储库中的锁定文件之前,它将无法运行git svn fetch,因为可能会显示错误消息。