我将 Subgit 设置为在 SVN 和 Git 之间同步。
Subgit 运行一个守护进程来监听 SVN 更新。
我想在守护进程将 SVN 合并到 Git 存储库后运行一些东西,
我该怎么办?
SubGit 2.0.x 从 Subversion 存储库获取新修订时不会触发任何挂钩。对此有一个功能请求,请随时投票:SGT-360。
作为一种解决方法,我建议您使用定期运行以下命令的 cron 作业:
subgit fetch <GIT_REPO>
SubGit <version>
Translating SVN revisions to Git commits...
rN => <hash>
Done.
您还可以通过运行以下命令远程触发 Git-SVN 同步:
$ cd <working_tree> && git push <remote> +:refs/subgit/command/fetch-sync
remote: Synchronizing SVN and Git...
remote: translating SVN revisions to Git commits...
remote: translated revision N to commit <hash>
remote: ... done.
可以通过解析其输出来了解 SubGit 是否获取了新的 SVN 修订版。
如果您要使用此类定期作业,禁用后台翻译过程是有意义的,因为它不再需要:
$ edit <GIT_REPO>/subgit/config
# [daemon]
# idleTimeout = 0
$ subgit install <GIT_REPO>