From c5f13063a52f4ca415f90f3f259072af368ba79c Mon Sep 17 00:00:00 2001 From: UK992 Date: Sat, 22 Apr 2017 22:50:52 +0200 Subject: [PATCH] Optimize `clean-nightlies` --- python/servo/bootstrap_commands.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/python/servo/bootstrap_commands.py b/python/servo/bootstrap_commands.py index 28b5d4fa673..b12d8082d88 100644 --- a/python/servo/bootstrap_commands.py +++ b/python/servo/bootstrap_commands.py @@ -306,19 +306,14 @@ class MachCommands(CommandBase): for tool in ["rust", "cargo"]: commit_file = '{}-commit-hash'.format(tool) cmd = subprocess.Popen( - ['git', 'log', '--pretty=format:%H', '-n', keep, commit_file], + ['git', 'log', '--oneline', '--no-color', '-n', keep, '--patch', commit_file], stdout=subprocess.PIPE, universal_newlines=True ) stdout, _ = cmd.communicate() - for commit in stdout.splitlines(): - cmd = subprocess.Popen( - ['git', 'show', '{}:{}'.format(commit, commit_file)], - stdout=subprocess.PIPE, - universal_newlines=True - ) - commit_hash, _ = cmd.communicate() - to_keep[tool].add(commit_hash.rstrip()) + for line in stdout.splitlines(): + if line.startswith("+") and not line.startswith("+++"): + to_keep[tool].add(line[1:]) removing_anything = False for tool in ["rust", "cargo"]: