summaryrefslogtreecommitdiffstats
path: root/subcmds/sync.py
diff options
context:
space:
mode:
Diffstat (limited to 'subcmds/sync.py')
-rw-r--r--subcmds/sync.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 2a77065c..4af411c9 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -151,6 +151,9 @@ The --optimized-fetch option can be used to only fetch projects that
151are fixed to a sha1 revision if the sha1 revision does not already 151are fixed to a sha1 revision if the sha1 revision does not already
152exist locally. 152exist locally.
153 153
154The --prune option can be used to remove any refs that no longer
155exist on the remote.
156
154SSH Connections 157SSH Connections
155--------------- 158---------------
156 159
@@ -234,6 +237,8 @@ later is required to fix a server side protocol bug.
234 p.add_option('--optimized-fetch', 237 p.add_option('--optimized-fetch',
235 dest='optimized_fetch', action='store_true', 238 dest='optimized_fetch', action='store_true',
236 help='only fetch projects fixed to sha1 if revision does not exist locally') 239 help='only fetch projects fixed to sha1 if revision does not exist locally')
240 p.add_option('--prune', dest='prune', action='store_true',
241 help='delete refs that no longer exist on the remote')
237 if show_smart: 242 if show_smart:
238 p.add_option('-s', '--smart-sync', 243 p.add_option('-s', '--smart-sync',
239 dest='smart_sync', action='store_true', 244 dest='smart_sync', action='store_true',
@@ -305,7 +310,8 @@ later is required to fix a server side protocol bug.
305 force_sync=opt.force_sync, 310 force_sync=opt.force_sync,
306 clone_bundle=not opt.no_clone_bundle, 311 clone_bundle=not opt.no_clone_bundle,
307 no_tags=opt.no_tags, archive=self.manifest.IsArchive, 312 no_tags=opt.no_tags, archive=self.manifest.IsArchive,
308 optimized_fetch=opt.optimized_fetch) 313 optimized_fetch=opt.optimized_fetch,
314 prune=opt.prune)
309 self._fetch_times.Set(project, time.time() - start) 315 self._fetch_times.Set(project, time.time() - start)
310 316
311 # Lock around all the rest of the code, since printing, updating a set 317 # Lock around all the rest of the code, since printing, updating a set
@@ -314,6 +320,7 @@ later is required to fix a server side protocol bug.
314 did_lock = True 320 did_lock = True
315 321
316 if not success: 322 if not success:
323 err_event.set()
317 print('error: Cannot fetch %s' % project.name, file=sys.stderr) 324 print('error: Cannot fetch %s' % project.name, file=sys.stderr)
318 if opt.force_broken: 325 if opt.force_broken:
319 print('warn: --force-broken, continuing to sync', 326 print('warn: --force-broken, continuing to sync',
@@ -324,7 +331,7 @@ later is required to fix a server side protocol bug.
324 fetched.add(project.gitdir) 331 fetched.add(project.gitdir)
325 pm.update() 332 pm.update()
326 except _FetchError: 333 except _FetchError:
327 err_event.set() 334 pass
328 except Exception as e: 335 except Exception as e:
329 print('error: Cannot fetch %s (%s: %s)' \ 336 print('error: Cannot fetch %s (%s: %s)' \
330 % (project.name, type(e).__name__, str(e)), file=sys.stderr) 337 % (project.name, type(e).__name__, str(e)), file=sys.stderr)