Degrade: Fix smart sync/smart tag

This was broken in b2bd91c, which updated the manifest after it had
been overridden, which made it fall back to the original file (and
not the one from the manifest server).

This builds on 0766900 and overrides the manifest by the one
downloaded from the manifest server completely.

Change-Id: Ic3972390a68919b614616631d99c9e7a63c0e0db
diff --git a/subcmds/sync.py b/subcmds/sync.py
index b34787d..2d2c8bf 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -526,6 +526,7 @@
                                                     (username, password),
                                                     1)
 
+      manifest_name = opt.manifest_name
       try:
         server = xmlrpc.client.Server(manifest_server)
         if opt.smart_sync:
@@ -560,7 +561,7 @@
             print('error: cannot write manifest to %s' % manifest_path,
                   file=sys.stderr)
             sys.exit(1)
-          self.manifest.Override(manifest_name)
+          self._ReloadManifest(manifest_name)
         else:
           print('error: %s' % manifest_str, file=sys.stderr)
           sys.exit(1)
@@ -593,7 +594,7 @@
       mp.Sync_LocalHalf(syncbuf)
       if not syncbuf.Finish():
         sys.exit(1)
-      self._ReloadManifest(opt.manifest_name)
+      self._ReloadManifest(manifest_name)
       if opt.jobs is None:
         self.jobs = self.manifest.default.sync_j
     all_projects = self.GetProjects(args,
@@ -618,7 +619,7 @@
       # Iteratively fetch missing and/or nested unregistered submodules
       previously_missing_set = set()
       while True:
-        self._ReloadManifest(opt.manifest_name)
+        self._ReloadManifest(manifest_name)
         all_projects = self.GetProjects(args,
                                         missing_ok=True,
                                         submodules_ok=opt.fetch_submodules)