Index: infra_libs/event_mon/checkouts.py |
diff --git a/infra_libs/event_mon/checkouts.py b/infra_libs/event_mon/checkouts.py |
deleted file mode 100644 |
index 92532b8cb66b77b3e01e8c43e8353c2301a3cf7c..0000000000000000000000000000000000000000 |
--- a/infra_libs/event_mon/checkouts.py |
+++ /dev/null |
@@ -1,73 +0,0 @@ |
-# Copyright 2015 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-# Functions in this file relies on depot_tools been checked-out as a sibling |
-# of infra.git. |
- |
-import logging |
-import os |
-import re |
-import subprocess |
- |
- |
-BASE_DIR = os.path.dirname( |
- os.path.dirname( |
- os.path.dirname( |
- os.path.dirname(os.path.realpath(__file__))))) |
- |
- |
-def parse_revinfo(revinfo): |
- """Parse the output of "gclient revinfo -a" |
- |
- Args: |
- revinfo (str): string containing gclient stdout. |
- |
- Returns: |
- revinfo_d (dict): <directory>: (URL, revision) |
- """ |
- revision_expr = re.compile('(.*)@([^@]*)') |
- |
- revinfo_d = {} |
- for line in revinfo.splitlines(): |
- if ':' not in line: |
- continue |
- |
- # TODO: this fails when the file name contains a colon. |
- path, line = line.split(':', 1) |
- if '@' in line: |
- url, revision = revision_expr.match(line).groups() |
- revision = revision.strip() |
- else: |
- # Split at the last @ |
- url, revision = line.strip(), None |
- |
- path = path.strip() |
- url = url.strip() |
- revinfo_d[path] = {'source_url': url, 'revision': revision} |
- return revinfo_d |
- |
- |
-def get_revinfo(cwd=None): # pragma: no cover |
- """Call gclient to get the list of all revisions actually checked out on disk. |
- |
- gclient is expected to be under depot_tools/ sibling to infra/. |
- If gclient can't be found or fail to run returns {}. |
- |
- Args: |
- cwd (str): working directory where to run gclient. If None, use the |
- current working directory. |
- Returns: |
- revinfo (dict): keys are local paths, values are dicts with keys: |
- 'source_url' or 'revision'. The latter can be a git SHA1 or an svn |
- revision. |
- """ |
- |
- cmd = [os.path.join(BASE_DIR, 'depot_tools', 'gclient'), 'revinfo', '-a'] |
- logging.debug('Running: %s', ' '.join(cmd)) |
- revinfo = '' |
- try: |
- revinfo = subprocess.check_output(cmd, cwd=cwd) |
- except (subprocess.CalledProcessError, OSError): |
- logging.exception('Command failed to run: %s', ' '.join(cmd)) |
- return parse_revinfo(revinfo) |