From 3a68bb4c7f50897c0dbca59ca47aef463a9ad8d0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 4 Jun 2009 16:18:09 -0700 Subject: [PATCH] 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 --- subcmds/sync.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 @@ later is required to fix a server side protocol bug. 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 @@ later is required to fix a server side protocol bug. 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 @@ uncommitted changes are present' % project.relpath fd = open(file_path, 'w') try: fd.write('\n'.join(new_project_paths)) + fd.write('\n') finally: fd.close() return 0