| 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)
 | 
| 
 |