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 <jojwang@chromium.org>
Reviewed-by: Gavin Mak <gavinmak@google.com>
diff --git a/git_cl.py b/git_cl.py
index 855ddea..1468f70 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -6224,10 +6224,16 @@
       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