我正在尝试使用subgit工具将我们的subversion存储库转换为git.我成功地建立了对git存储库的subversion并且它已经正常工作了一段时间,但是在我重新启动工作站之后,来自subversion的更改停止在git中出现.我再次运行了subgit安装,它现在可以工作,但我认为这不是正确的方法.如何设置subgit以便在重启后继续工作?
实际上,SubGit运行一个守护进程来检查新的SVN更改(默认情况下每分钟一次).守护进程如果没有在每次Git推送时都自动启动,那么如果Git推送到你的存储库经常发生并且你不关心立即修改新的SVN,你可以什么也不做,并且第一次Git推送守护进程将开始.
但是,如果让Git存储库保持最新状态非常重要,那么您需要运行
$ subgit fetch --async /path/to/git/repository
Run Code Online (Sandbox Code Playgroud)
系统启动时 该命令将启动守护程序将存储库与SVN同步.请注意,代表同一个用户运行所有SubGit命令(包括此命令)非常重要(它也应该是/ path/to/git/repository的所有者;通常,如果您使用的是GitLab或"www ",它就是"git" -data"如果您正在使用Apache和git-http-backend).
其中一种方法是创建一个init.d启动SubGit守护进程的脚本
$ su -u git subgit fetch --async /path/to/git/repository
Run Code Online (Sandbox Code Playgroud)
并停止:
$ su -u git subgit shutdown /path/to/git/repository
Run Code Online (Sandbox Code Playgroud)
如果您的系统是debian,则可以使用此 init.d脚本生成器.
我是SubGit开发人员之一.