diff options
author | Raman Tenneti <rtenneti@google.com> | 2021-04-15 09:20:51 -0700 |
---|---|---|
committer | Raman Tenneti <rtenneti@google.com> | 2021-04-15 22:43:07 +0000 |
commit | ad8aa6977248c46669575282302f5de90043fdf0 (patch) | |
tree | 457cb89fe92c75d001b73f206f4fc42b9b8c4d7c /subcmds/sync.py | |
parent | b5d075d04f1e555f85aad27e74f16073a50b2ae6 (diff) | |
download | git-repo-ad8aa6977248c46669575282302f5de90043fdf0.tar.gz |
sync: only print error.GitError, don't raise that exception.
In _FetchOne & _CheckOne, only print error.GitError exception,
but other exceptions are still thrown
Fixes the GitError exceptions from /usr/lib/python3.8/multiprocessing/pool.py
exiting the repo sync.
Tested the code with the following commands and verified repo sync
continues after fetch error because of an invalid SHA1.
$ ./run_tests -v
$ python3 ~/work/repo/git-repo/repo sync -m manifest_P21623846.xml -j32
...
error.GitError: Cannot fetch platform/vendor/google_devices/redbull/proprietary update-ref: fatal: d5a99e518f09d6abb0c0dfa899594e1ea6232459^0: not a valid SHA1
....
An error like the following when jobs=1
error.GitError: Cannot checkout platform/vendor/qcom/sdm845/proprietary/qcrilOemHook: Cannot initialize work tree for platform/vendor/qcom/sdm845/proprietary/qcrilOemHook
Bug: https://crbug.com/gerrit/14392
Change-Id: I8922ad6c07c733125419f5698b0f7e32d70c7905
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/303544
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: Raman Tenneti <rtenneti@google.com>
Diffstat (limited to 'subcmds/sync.py')
-rw-r--r-- | subcmds/sync.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/subcmds/sync.py b/subcmds/sync.py index 4763fadc..21bc5e7d 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
@@ -354,6 +354,8 @@ later is required to fix a server side protocol bug. | |||
354 | print('error: Cannot fetch %s from %s' | 354 | print('error: Cannot fetch %s from %s' |
355 | % (project.name, project.remote.url), | 355 | % (project.name, project.remote.url), |
356 | file=sys.stderr) | 356 | file=sys.stderr) |
357 | except GitError as e: | ||
358 | print('error.GitError: Cannot fetch %s' % str(e), file=sys.stderr) | ||
357 | except Exception as e: | 359 | except Exception as e: |
358 | print('error: Cannot fetch %s (%s: %s)' | 360 | print('error: Cannot fetch %s (%s: %s)' |
359 | % (project.name, type(e).__name__, str(e)), file=sys.stderr) | 361 | % (project.name, type(e).__name__, str(e)), file=sys.stderr) |
@@ -446,6 +448,9 @@ later is required to fix a server side protocol bug. | |||
446 | try: | 448 | try: |
447 | project.Sync_LocalHalf(syncbuf, force_sync=force_sync) | 449 | project.Sync_LocalHalf(syncbuf, force_sync=force_sync) |
448 | success = syncbuf.Finish() | 450 | success = syncbuf.Finish() |
451 | except GitError as e: | ||
452 | print('error.GitError: Cannot checkout %s: %s' % | ||
453 | (project.name, str(e)), file=sys.stderr) | ||
449 | except Exception as e: | 454 | except Exception as e: |
450 | print('error: Cannot checkout %s: %s: %s' % | 455 | print('error: Cannot checkout %s: %s: %s' % |
451 | (project.name, type(e).__name__, str(e)), | 456 | (project.name, type(e).__name__, str(e)), |