diff --git a/subcmds/sync.py b/subcmds/sync.py index 3a4151dfe..e3e9aa7f7 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py @@ -79,6 +79,7 @@ from repo_logging import RepoLogger from repo_trace import Trace import ssh from wrapper import Wrapper +from hooks import RepoHook _ONE_DAY_S = 24 * 60 * 60 @@ -1736,6 +1737,22 @@ later is required to fix a server side protocol bug. errors = [] try: self._ExecuteHelper(opt, args, errors) + + try: + manifest = self.manifest + post_sync_hook = RepoHook( + hook_type="post-sync", + hooks_project=manifest.repo_hooks_project, + repo_topdir=manifest.topdir, + manifest_url=manifest.manifestProject.GetRemote("origin").url, + bypass_hooks=False, + allow_all_hooks=True, + ignore_hooks=True, + ) + post_sync_hook.Run() + except Exception as e: + print(f"Warning: post-sync hook failed: {e}") + except (RepoExitError, RepoChangedException): raise except (KeyboardInterrupt, Exception) as e: