sync: Fix syntax error on Python 2.4

Change-Id: I371d032d5a1ddde137721cbe2b24bfa38f20aaaa
Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/subcmds/sync.py b/subcmds/sync.py
index eac0556..4a54470 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -164,31 +164,32 @@
       # - We always make sure we call sem.release().
       # - We always make sure we unlock the lock if we locked it.
       try:
-        success = project.Sync_NetworkHalf(quiet=opt.quiet)
+        try:
+          success = project.Sync_NetworkHalf(quiet=opt.quiet)
 
-        # Lock around all the rest of the code, since printing, updating a set
-        # and Progress.update() are not thread safe.
-        lock.acquire()
-        did_lock = True
+          # Lock around all the rest of the code, since printing, updating a set
+          # and Progress.update() are not thread safe.
+          lock.acquire()
+          did_lock = True
 
-        if not success:
-          print >>sys.stderr, 'error: Cannot fetch %s' % project.name
-          if opt.force_broken:
-            print >>sys.stderr, 'warn: --force-broken, continuing to sync'
-          else:
-            raise _FetchError()
+          if not success:
+            print >>sys.stderr, 'error: Cannot fetch %s' % project.name
+            if opt.force_broken:
+              print >>sys.stderr, 'warn: --force-broken, continuing to sync'
+            else:
+              raise _FetchError()
 
-        fetched.add(project.gitdir)
-        pm.update()
-      except BaseException, e:
-        # Notify the _Fetch() function about all errors.
-        err_event.set()
+          fetched.add(project.gitdir)
+          pm.update()
+        except BaseException, e:
+          # Notify the _Fetch() function about all errors.
+          err_event.set()
 
-        # If we got our own _FetchError, we don't want a stack trace.
-        # However, if we got something else (something in Sync_NetworkHalf?),
-        # we'd like one (so re-raise after we've set err_event).
-        if not isinstance(e, _FetchError):
-          raise
+          # If we got our own _FetchError, we don't want a stack trace.
+          # However, if we got something else (something in Sync_NetworkHalf?),
+          # we'd like one (so re-raise after we've set err_event).
+          if not isinstance(e, _FetchError):
+            raise
       finally:
         if did_lock:
           lock.release()