Files
chromium_depot_tools/utils.py
Josip Sokcevic 0399e1762c Add a basic depot_tools version information
depot_tools has no versioning. It's hard to know if reported issues were
caused due to outdated depot_tools or actual unresolved bug.

This CL adds basic information about depot_tools version and it's
included in presubmit failure.

R=aravindvasudev@google.com, gavinmak@google.com

Change-Id: If8577c0826063693a7278a57a0cce629d4b1325f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/3541061
Reviewed-by: Aravind Vasudevan <aravindvasudev@google.com>
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Josip Sokcevic <sokcevic@google.com>
2022-03-21 23:11:51 +00:00

26 lines
833 B
Python

# Copyright 2022 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.
import os
import subprocess
def depot_tools_version():
depot_tools_root = os.path.dirname(os.path.abspath(__file__))
try:
commit_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD'],
cwd=depot_tools_root).decode(
'utf-8', 'ignore')
return 'git-%s' % commit_hash
except Exception:
pass
# git check failed, let's check last modification of frequently checked file
try:
mtime = os.path.getmtime(
os.path.join(depot_tools_root, 'infra', 'config', 'recipes.cfg'))
return 'recipes.cfg-%d' % (mtime)
except Exception:
return 'unknown'