2

我将 Subgit 设置为在 SVN 和 Git 之间同步。
Subgit 运行一个守护进程来监听 SVN 更新。

我想在守护进程将 SVN 合并到 Git 存储库后运行一些东西,
我该怎么办?

4

1 回答 1

2

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>
于 2014-01-17T15:52:37.390 回答