我正在尝试使用 subgit 工具将我们的 subversion 存储库转换为 git。我成功地为 git 存储库建立了 subversion 并且它已经正常工作了一段时间,但是在我通过工作站重新启动后,来自 subversion 的更改停止出现在 git 中。我再次运行 subgit install 并且它现在可以工作,但我认为这不是正确的方法。如何设置 subgit 使其在重新启动后继续工作?

最佳答案

事实上,SubGit 运行一个守护进程来检查新的 SVN 更改(默认情况下每分钟一次)。如果不是在每次 Git 推送时都启动,守护程序会自动启动,所以如果 Git 推送到您的存储库的频率足够高并且您不太关心立即进行新的 SVN 更改,您可以什么都不做,并且在第一次 Git 推送时守护程序将开始。

但是,如果让 Git 存储库保持最新对您来说很重要,则需要运行

$ subgit fetch --async /path/to/git/repository

系统启动时。该命令将启动守护进程,将存储库与 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

并停止它:
$ su -u git subgit shutdown /path/to/git/repository

如果您的系统是 debian,您可以使用 this init.d 脚本生成器。

我是 SubGit 开发人员之一。

关于subgit - 重新启动后如何设置 subgit 工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43465423/

10-15 14:21