2

有一个 git 存储库,它git svn fetch在固定时间段(例如 1 小时)内从 svn ( ) 更新。fetch 完成后,每个分支 fromrefs/heads都会更新为对应的分支 from refs/remotes。svn 分支refs/heads仅在此更新过程中更新,其他人没有对它们的写访问权。

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

4

1 回答 1

1

根据个人经验,我公司使用 SVN 存储库作为主要存储库,每 20 分钟对 SVN 存储库产生新的修订。

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

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

于 2012-10-25T15:46:48.830 回答