diff options
Diffstat (limited to 'subcmds')
| -rw-r--r-- | subcmds/sync.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py index 3eb44edf..9af12322 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
| @@ -49,6 +49,9 @@ the manifest. | |||
| 49 | p.add_option('--no-repo-verify', | 49 | p.add_option('--no-repo-verify', |
| 50 | dest='no_repo_verify', action='store_true', | 50 | dest='no_repo_verify', action='store_true', |
| 51 | help='do not verify repo source code') | 51 | help='do not verify repo source code') |
| 52 | p.add_option('--repo-upgraded', | ||
| 53 | dest='repo_upgraded', action='store_true', | ||
| 54 | help='perform additional actions after a repo upgrade') | ||
| 52 | 55 | ||
| 53 | def _Fetch(self, *projects): | 56 | def _Fetch(self, *projects): |
| 54 | fetched = set() | 57 | fetched = set() |
| @@ -67,6 +70,11 @@ the manifest. | |||
| 67 | mp = self.manifest.manifestProject | 70 | mp = self.manifest.manifestProject |
| 68 | mp.PreSync() | 71 | mp.PreSync() |
| 69 | 72 | ||
| 73 | if opt.repo_upgraded: | ||
| 74 | for project in self.manifest.projects.values(): | ||
| 75 | if project.Exists: | ||
| 76 | project.PostRepoUpgrade() | ||
| 77 | |||
| 70 | all = self.GetProjects(args, missing_ok=True) | 78 | all = self.GetProjects(args, missing_ok=True) |
| 71 | fetched = self._Fetch(rp, mp, *all) | 79 | fetched = self._Fetch(rp, mp, *all) |
| 72 | 80 | ||
| @@ -77,7 +85,7 @@ the manifest. | |||
| 77 | if not rp.Sync_LocalHalf(): | 85 | if not rp.Sync_LocalHalf(): |
| 78 | sys.exit(1) | 86 | sys.exit(1) |
| 79 | print >>sys.stderr, 'info: Restarting repo with latest version' | 87 | print >>sys.stderr, 'info: Restarting repo with latest version' |
| 80 | raise RepoChangedException() | 88 | raise RepoChangedException(['--repo-upgraded']) |
| 81 | else: | 89 | else: |
| 82 | print >>sys.stderr, 'warning: Skipped upgrade to unverified version' | 90 | print >>sys.stderr, 'warning: Skipped upgrade to unverified version' |
| 83 | 91 | ||
