diff options
Diffstat (limited to 'subcmds/sync.py')
| -rw-r--r-- | subcmds/sync.py | 11 |
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 | |||
| 151 | are fixed to a sha1 revision if the sha1 revision does not already | 151 | are fixed to a sha1 revision if the sha1 revision does not already |
| 152 | exist locally. | 152 | exist locally. |
| 153 | 153 | ||
| 154 | The --prune option can be used to remove any refs that no longer | ||
| 155 | exist on the remote. | ||
| 156 | |||
| 154 | SSH Connections | 157 | SSH 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) |
