From c5b38329e6b5fd3ebf87afb2267620ad2d9269ea Mon Sep 17 00:00:00 2001 From: Joanna Wang Date: Wed, 15 Mar 2023 20:38:46 +0000 Subject: [PATCH] Don't raise 'not a git repo' error in metrics collection. Fixed: 1424809 Change-Id: I8f8b036a0ef1dd21a58d2af232e105b045e07f56 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4343669 Commit-Queue: Joanna Wang Reviewed-by: Gavin Mak --- git_cl.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/git_cl.py b/git_cl.py index 855ddea1b..1468f70d9 100755 --- a/git_cl.py +++ b/git_cl.py @@ -6224,10 +6224,16 @@ class OptionParser(optparse.OptionParser): settings = Settings() if metrics.collector.config.should_collect_metrics: - # GetViewVCUrl ultimately calls logging method. - project_url = settings.GetViewVCUrl().strip('/+') - if project_url in metrics_utils.KNOWN_PROJECT_URLS: - metrics.collector.add('project_urls', [project_url]) + try: + # GetViewVCUrl ultimately calls logging method. + project_url = settings.GetViewVCUrl().strip('/+') + if project_url in metrics_utils.KNOWN_PROJECT_URLS: + metrics.collector.add('project_urls', [project_url]) + except subprocess2.CalledProcessError: + # Occurs when command is not executed in a git repository + # We should not fail here. If the command needs to be executed + # in a repo, it will be raised later. + pass def _parse_args(self, args=None): # Create an optparse.Values object that will store only the actual passed