sync: Tolerate blank lines in project.list
If a line is blank in project.list, its not a relevant project path,
so skip over it. Existing project.list files may have blank lines if
sync was run with no projects at all, and the file was created empty.
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/subcmds/sync.py b/subcmds/sync.py
index ad05cad..6bccbb0 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -123,7 +123,8 @@
def UpdateProjectList(self):
new_project_paths = []
for project in self.manifest.projects.values():
- new_project_paths.append(project.relpath)
+ if project.relpath:
+ new_project_paths.append(project.relpath)
file_name = 'project.list'
file_path = os.path.join(self.manifest.repodir, file_name)
old_project_paths = []
@@ -135,6 +136,8 @@
finally:
fd.close()
for path in old_project_paths:
+ if not path:
+ continue
if path not in new_project_paths:
project = Project(
manifest = self.manifest,
@@ -166,6 +169,7 @@
fd = open(file_path, 'w')
try:
fd.write('\n'.join(new_project_paths))
+ fd.write('\n')
finally:
fd.close()
return 0