mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-10 18:21:28 +00:00
Refactor: Use f-strings for string formatting
Change-Id: I369fb3af4395b28ca840c9b9d4a5a5e0497da51d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6945150 Reviewed-by: Scott Lee <ddoman@chromium.org> Commit-Queue: Steven Holte <holte@chromium.org>
This commit is contained in:
48
roll_dep.py
48
roll_dep.py
@@ -108,12 +108,12 @@ def get_gerrit_host(url):
|
||||
def get_log_url(upstream_url, head, tot):
|
||||
"""Returns an URL to read logs via a Web UI if applicable."""
|
||||
if get_gerrit_host(upstream_url):
|
||||
return '%s/+log/%s..%s' % (upstream_url, head[:12], tot[:12])
|
||||
return f'{upstream_url}/+log/{head[:12]}..{tot[:12]}'
|
||||
if upstream_url.startswith('https://github.com/'):
|
||||
upstream_url = upstream_url.rstrip('/')
|
||||
if upstream_url.endswith('.git'):
|
||||
upstream_url = upstream_url[:-len('.git')]
|
||||
return '%s/compare/%s...%s' % (upstream_url, head[:12], tot[:12])
|
||||
return f'{upstream_url}/compare/{head[:12]}...{tot[:12]}'
|
||||
return None
|
||||
|
||||
|
||||
@@ -135,8 +135,8 @@ def gclient(args):
|
||||
def generate_commit_message(full_dir, dependency, head, roll_to, upstream_url,
|
||||
show_log, log_limit):
|
||||
"""Creates the commit message for this specific roll."""
|
||||
commit_range = '%s..%s' % (head, roll_to)
|
||||
commit_range_for_header = '%s..%s' % (head[:9], roll_to[:9])
|
||||
commit_range = f'{head}..{roll_to}'
|
||||
commit_range_for_header = f'{head[:9]}..{roll_to[:9]}'
|
||||
cmd = ['git', 'log', commit_range, '--date=short', '--no-merges']
|
||||
logs = check_output(
|
||||
# Args with '=' are automatically quoted.
|
||||
@@ -149,17 +149,16 @@ def generate_commit_message(full_dir, dependency, head, roll_to, upstream_url,
|
||||
|
||||
nb_commits = len(lines)
|
||||
rolls = nb_commits - len(cleaned_lines)
|
||||
header = 'Roll %s/ %s (%d commit%s%s)\n\n' % (
|
||||
dependency, commit_range_for_header, nb_commits,
|
||||
's' if nb_commits > 1 else '',
|
||||
('; %s trivial rolls' % rolls) if rolls else '')
|
||||
header = (f'Roll {dependency}/ {commit_range_for_header} '
|
||||
f'({nb_commits} commit{"s" if nb_commits > 1 else ""}'
|
||||
f'{f"; {rolls} trivial rolls" if rolls else ""})\n\n')
|
||||
log_section = ''
|
||||
if log_url := get_log_url(upstream_url, head, roll_to):
|
||||
log_section = log_url + '\n\n'
|
||||
# It is important that --no-log continues to work, as it is used by
|
||||
# internal -> external rollers. Please do not remove or break it.
|
||||
if show_log:
|
||||
log_section += '$ %s ' % ' '.join(cmd)
|
||||
log_section += f'$ {" ".join(cmd)} '
|
||||
log_section += '--format=\'%ad %ae %s\'\n'
|
||||
log_section = log_section.replace(commit_range, commit_range_for_header)
|
||||
if len(cleaned_lines) > log_limit:
|
||||
@@ -198,7 +197,7 @@ def calculate_roll(full_dir, dependency, roll_to):
|
||||
else:
|
||||
head = gclient(['getdep', '-r', dependency])
|
||||
if not head:
|
||||
raise Error('%s is unpinned.' % dependency)
|
||||
raise Error(f'{dependency} is unpinned.')
|
||||
check_call(['git', 'fetch', 'origin', '--quiet'], cwd=full_dir)
|
||||
if roll_to == 'origin/HEAD':
|
||||
check_output(['git', 'remote', 'set-head', 'origin', '-a'],
|
||||
@@ -212,11 +211,13 @@ def gen_commit_msg(logs, cmdline, reviewers, bug):
|
||||
"""Returns the final commit message."""
|
||||
commit_msg = ''
|
||||
if len(logs) > 1:
|
||||
commit_msg = 'Rolling %d dependencies\n\n' % len(logs)
|
||||
commit_msg = f'Rolling {len(logs)} dependencies\n\n'
|
||||
commit_msg += '\n\n'.join(logs)
|
||||
commit_msg += 'Created with:\n ' + cmdline + '\n'
|
||||
commit_msg += 'R=%s\n' % ','.join(reviewers) if reviewers else ''
|
||||
commit_msg += '\nBug: %s\n' % bug if bug else ''
|
||||
commit_msg += f'Created with:\n {cmdline}\n'
|
||||
if reviewers:
|
||||
commit_msg += f'R={",".join(reviewers)}\n'
|
||||
if bug:
|
||||
commit_msg += f'\nBug: {bug}\n'
|
||||
return commit_msg
|
||||
|
||||
|
||||
@@ -384,30 +385,29 @@ def main():
|
||||
cmdline += ' --no-update-readme'
|
||||
try:
|
||||
if not args.ignore_dirty_tree and not is_pristine(current_dir):
|
||||
raise Error('Ensure %s is clean first (no non-merged commits).' %
|
||||
current_dir)
|
||||
raise Error(
|
||||
f'Ensure {current_dir} is clean first (no non-merged commits).')
|
||||
# First gather all the information without modifying anything, except
|
||||
# for a git fetch.
|
||||
rolls = {}
|
||||
for dependency in dependencies:
|
||||
full_dir = os.path.normpath(os.path.join(gclient_root, dependency))
|
||||
if not os.path.isdir(full_dir):
|
||||
print('Dependency %s not found at %s' % (dependency, full_dir))
|
||||
print(f'Dependency {dependency} not found at {full_dir}')
|
||||
full_dir = os.path.normpath(
|
||||
os.path.join(current_dir, dependency))
|
||||
print('Will look for relative dependency at %s' % full_dir)
|
||||
print(f'Will look for relative dependency at {full_dir}')
|
||||
if not os.path.isdir(full_dir):
|
||||
raise Error('Directory not found: %s (%s)' %
|
||||
(dependency, full_dir))
|
||||
raise Error(f'Directory not found: {dependency} ({full_dir})')
|
||||
|
||||
head, roll_to = calculate_roll(full_dir, dependency, args.roll_to)
|
||||
if roll_to == head:
|
||||
if len(dependencies) == 1:
|
||||
raise AlreadyRolledError('No revision to roll!')
|
||||
print('%s: Already at latest commit %s' % (dependency, roll_to))
|
||||
print(f'{dependency}: Already at latest commit {roll_to}')
|
||||
else:
|
||||
print('%s: Rolling from %s to %s' %
|
||||
(dependency, head[:10], roll_to[:10]))
|
||||
print(
|
||||
f'{dependency}: Rolling from {head[:10]} to {roll_to[:10]}')
|
||||
rolls[dependency] = (head, roll_to, full_dir)
|
||||
|
||||
logs = []
|
||||
@@ -433,7 +433,7 @@ def main():
|
||||
commit_msg = gen_commit_msg(logs, cmdline, reviewers, args.bug)
|
||||
finalize(args, commit_msg, current_dir, rolls)
|
||||
except Error as e:
|
||||
sys.stderr.write('error: %s\n' % e)
|
||||
sys.stderr.write(f'error: {e}\n')
|
||||
return 2 if isinstance(e, AlreadyRolledError) else 1
|
||||
except subprocess2.CalledProcessError:
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user