有一个git存储库,它在固定的时间段(例如1小时)内从svn(git svn fetch
)更新。完成提取后,refs/heads
的每个分支都会使用refs/remotes
的相应分支进行更新。 refs/heads
中的Svn分支仅在此更新过程中更新,并且没有其他人具有对它们的写入权限。
我想知道在svn更新过程中是否有可能破坏存储库访问它?例如,克隆整个存储库,从中获取最新的更改或推送(而不是svn分支)。
答案 0 :(得分:1)
根据个人经验,我公司使用SVN存储库作为主存储库,每20分钟就会对SVN存储库进行一次新的修订。
运行git-svn
命令时,它会记住脚本中的最后一个修订版git-svn
开始运行。例如,如果svn存储库中有新的修订版本,则不会将新版本提取到Git存储库。它将在您下次运行git svn fetch
命令时获取到git存储库。
我遇到的最大问题是,我关闭了git svn fetch
仍在运行的笔记本电脑,但我不会注意到它,因为它是任务调度程序中的后台进程。因此,在这种情况下,它可能在git存储库中具有锁定文件。如果锁定文件发生,则在您删除git存储库中的锁定文件之前,它将无法运行git svn fetch
,因为可能会显示错误消息。