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