SVN と Git の間で同期するように Subgit をセットアップしました。
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>