summaryrefslogtreecommitdiffstats
path: root/subcmds
diff options
context:
space:
mode:
Diffstat (limited to 'subcmds')
-rw-r--r--subcmds/sync.py10
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