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 | ||