Revert "GITC: Always update the gitc manifest from the repo manifest"
This reverts commit 250303b437855c2b50d052a05a08ed517423af8b.
Change-Id: I1fd8af20f802553151aacb953c913f3305ca6057
diff --git a/subcmds/start.py b/subcmds/start.py
index 940c341..188fd7c 100644
--- a/subcmds/start.py
+++ b/subcmds/start.py
@@ -57,6 +57,7 @@
print("error: at least one project must be specified", file=sys.stderr)
sys.exit(1)
+ proj_name_to_gitc_proj_dict = {}
if self.gitc_manifest:
all_projects = self.GetProjects(projects, manifest=self.gitc_manifest,
missing_ok=True)
@@ -66,6 +67,7 @@
else:
project.already_synced = False
project.old_revision = project.revisionExpr
+ proj_name_to_gitc_proj_dict[project.name] = project
project.revisionExpr = None
# Save the GITC manifest.
gitc_utils.save_manifest(self.gitc_manifest)
@@ -75,10 +77,9 @@
pm = Progress('Starting %s' % nb, len(all_projects))
for project in all_projects:
pm.update()
-
if self.gitc_manifest:
- gitc_project = self.gitc_manifest.paths[project.relpath]
- # Sync projects that have not been opened.
+ gitc_project = proj_name_to_gitc_proj_dict[project.name]
+ # Sync projects that have already been opened.
if not gitc_project.already_synced:
proj_localdir = os.path.join(self.gitc_manifest.gitc_client_dir,
project.relpath)
@@ -88,7 +89,7 @@
project.Sync_NetworkHalf()
sync_buf = SyncBuffer(self.manifest.manifestProject.config)
project.Sync_LocalHalf(sync_buf)
- project.revisionId = gitc_project.old_revision
+ project.revisionExpr = gitc_project.old_revision
# If the current revision is a specific SHA1 then we can't push back
# to it; so substitute with dest_branch if defined, or with manifest
@@ -99,7 +100,6 @@
branch_merge = project.dest_branch
else:
branch_merge = self.manifest.default.revisionExpr
-
if not project.StartBranch(nb, branch_merge=branch_merge):
err.append(project)
pm.end()