Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(705)

Unified Diff: tools/safely-roll-blink.py

Issue 510343002: Fix Blink roll script to handle git revisions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/safely-roll-blink.py
diff --git a/tools/safely-roll-blink.py b/tools/safely-roll-blink.py
index 581aecd5c6bb1ddfd3c2514f7c8130d06d502412..af7c12df1e94e09e8ac0cf9838ce606537226947 100755
--- a/tools/safely-roll-blink.py
+++ b/tools/safely-roll-blink.py
@@ -30,8 +30,8 @@ def process_deps(path, new_rev, is_dry_run):
A bit hacky, could it be made better?
"""
content = open(path).read()
- old_line = r'(\s+)"webkit_revision": "(\d+)",'
- new_line = r'\1"webkit_revision": "%d",' % new_rev
+ old_line = r"(\s+)'webkit_revision': '([a-f0-9]{40})',"
+ new_line = r"\1'webkit_revision': '%s'," % new_rev
new_content = re.sub(old_line, new_line, content, 1)
old_rev = re.search(old_line, content).group(2)
if not old_rev or new_content == content:
@@ -42,9 +42,19 @@ def process_deps(path, new_rev, is_dry_run):
return old_rev
+def get_svn_rev_from_git_rev(git_rev):
+ """Return the svn revision associated with the Blink git revision."""
+
+ os.chdir("third_party/WebKit/")
+ log = subprocess2.check_output(['git', 'log', git_rev, '-n', '1'])
+ rev_line = r"\s+git-svn-id: svn://svn.chromium.org/blink/trunk@(\d+)"
+ os.chdir("../..")
+
+ return int(re.search(rev_line, log).group(1))
+
def main():
tool_dir = os.path.dirname(os.path.abspath(__file__))
- parser = optparse.OptionParser(usage='%prog [options] <new blink rev>')
+ parser = optparse.OptionParser(usage='%prog [options] <new blink git rev>')
parser.add_option('-v', '--verbose', action='count', default=0)
parser.add_option('--dry-run', action='store_true')
parser.add_option('--commit', action='store_true', default=True,
@@ -72,7 +82,7 @@ def main():
root_dir = os.path.dirname(tool_dir)
os.chdir(root_dir)
- new_rev = int(args[0])
+ new_git_rev = args[0]
# Silence the editor.
os.environ['EDITOR'] = 'true'
@@ -87,9 +97,13 @@ def main():
['git', 'checkout', '-b', 'blink_roll', options.upstream])
try:
- old_rev = int(process_deps(os.path.join(root_dir, 'DEPS'), new_rev,
- options.dry_run))
- print 'Blink roll %s:%s' % (old_rev, new_rev)
+ old_git_rev = process_deps(os.path.join(root_dir, 'DEPS'), new_git_rev,
+ options.dry_run)
+
+ new_svn_rev = get_svn_rev_from_git_rev(new_git_rev)
+ old_svn_rev = get_svn_rev_from_git_rev(old_git_rev)
+
+ print 'Blink roll %s:%s' % (old_svn_rev, new_svn_rev)
review_field = 'TBR' if options.commit else 'R'
commit_msg = ('Blink roll %s:%s\n'
@@ -97,8 +111,8 @@ def main():
'http://build.chromium.org/f/chromium/perf/dashboard/ui/'
'changelog_blink.html?url=/trunk&range=%s:%s&mode=html'
'\n'
- '%s=%s\n' % (old_rev, new_rev,
- old_rev+1, new_rev,
+ '%s=%s\n' % (old_svn_rev, new_svn_rev,
+ old_svn_rev+1, new_svn_rev,
review_field,
options.reviewers))
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698