1589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch#!/bin/bash 23ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch# Copyright 2012 the V8 project authors. All rights reserved. 3589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# Redistribution and use in source and binary forms, with or without 4589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# modification, are permitted provided that the following conditions are 5589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# met: 6589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# 7589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# * Redistributions of source code must retain the above copyright 8589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# notice, this list of conditions and the following disclaimer. 9589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# * Redistributions in binary form must reproduce the above 10589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# copyright notice, this list of conditions and the following 11589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# disclaimer in the documentation and/or other materials provided 12589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# with the distribution. 13589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# * Neither the name of Google Inc. nor the names of its 14589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# contributors may be used to endorse or promote products derived 15589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# from this software without specific prior written permission. 16589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# 17589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 29589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 30589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch########## Global variable definitions 31589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 32589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben MurdochBRANCHNAME=prepare-push 33589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben MurdochTRUNKBRANCH=trunk-push 34589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben MurdochPERSISTFILE_BASENAME=/tmp/v8-push-to-trunk-tempfile 353ef787dbeca8a5fb1086949cda830dccee07bfbdBen MurdochCHROME_PATH= 36589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 3785b71799222b55eb5dd74ea26efe0c64ab655c8cBen Murdoch########## Function definitions 385d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0bBen Murdoch 393ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochsource $(dirname $BASH_SOURCE)/common-includes.sh 403ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch 41589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochusage() { 42589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochcat << EOF 43589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochusage: $0 OPTIONS 44589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 45589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben MurdochPerforms the necessary steps for a V8 push to trunk. Only works for \ 46589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochgit checkouts. 47589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 48589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben MurdochOPTIONS: 49589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -h Show this message 50589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -s Specify the step where to start work. Default: 0. 51589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -l Manually specify the git commit ID of the last push to trunk. 523ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch -c Specify the path to your Chromium src/ directory to automate the 533ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch V8 roll. 54589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben MurdochEOF 55589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch} 56589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 57589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch########## Option parsing 58589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 593ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochwhile getopts ":hs:l:c:" OPTION ; do 60589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch case $OPTION in 61589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch h) usage 62589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch exit 0 63589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch ;; 643ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch s) START_STEP=$OPTARG 65589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch ;; 66589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch l) LASTPUSH=$OPTARG 67589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch ;; 683ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch c) CHROME_PATH=$OPTARG 693ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch ;; 70589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch ?) echo "Illegal option: -$OPTARG" 71589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch usage 72589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch exit 1 73589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch ;; 74589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch esac 75589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochdone 76589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 77589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 78589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch########## Regular workflow 79589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 803ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochinitial_environment_checks 81589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 823ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 833ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Preparation" 843ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch common_prepare 853ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch delete_branch $TRUNKBRANCH 8685b71799222b55eb5dd74ea26efe0c64ab655c8cBen Murdochfi 8785b71799222b55eb5dd74ea26efe0c64ab655c8cBen Murdoch 883ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 893ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 903ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Create a fresh branch." 91589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git checkout -b $BRANCHNAME svn/bleeding_edge \ 92589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch || die "Creating branch $BRANCHNAME failed." 93589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 94589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 953ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 963ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 973ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Detect commit ID of last push to trunk." 98589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch [[ -n "$LASTPUSH" ]] || LASTPUSH=$(git log -1 --format=%H ChangeLog) 99589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch LOOP=1 100589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch while [ $LOOP -eq 1 ] ; do 101589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # Print assumed commit, circumventing git's pager. 102589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git log -1 $LASTPUSH | cat 103589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch confirm "Is the commit printed above the last push to trunk?" 104589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch if [ $? -eq 0 ] ; then 105589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch LOOP=0 106589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch else 107589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch LASTPUSH=$(git log -1 --format=%H $LASTPUSH^ ChangeLog) 108589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch fi 109589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch done 110589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch persist "LASTPUSH" 111589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 112589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 1133ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 1143ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 1153ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Prepare raw ChangeLog entry." 1163ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # These version numbers are used again later for the trunk commit. 1173ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch read_and_persist_version 118589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 119589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch DATE=$(date +%Y-%m-%d) 120589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch persist "DATE" 121589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo "$DATE: Version $MAJOR.$MINOR.$BUILD" > "$CHANGELOG_ENTRY_FILE" 122589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo "" >> "$CHANGELOG_ENTRY_FILE" 123589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch COMMITS=$(git log $LASTPUSH..HEAD --format=%H) 124589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch for commit in $COMMITS ; do 125589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # Get the commit's title line. 126589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git log -1 $commit --format="%w(80,8,8)%s" >> "$CHANGELOG_ENTRY_FILE" 1273ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # Grep for "BUG=xxxx" lines in the commit message and convert them to 1283ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # "(issue xxxx)". 1293ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git log -1 $commit --format="%B" \ 1303ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | grep "^BUG=" | grep -v "BUG=$" | grep -v "BUG=none$" \ 1313ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/^/ /' \ 1323ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/BUG=v8:\(.*\)$/(issue \1)/' \ 1333ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/BUG=\(.*\)$/(Chromium issue \1)/' \ 1343ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch >> "$CHANGELOG_ENTRY_FILE" 135589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # Append the commit's author for reference. 136589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git log -1 $commit --format="%w(80,8,8)(%an)" >> "$CHANGELOG_ENTRY_FILE" 137589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo "" >> "$CHANGELOG_ENTRY_FILE" 138589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch done 1393ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo " Performance and stability improvements on all platforms." \ 1403ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch >> "$CHANGELOG_ENTRY_FILE" 141589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 142589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 1433ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 1443ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 1453ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Edit ChangeLog entry." 146589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo -n "Please press <Return> to have your EDITOR open the ChangeLog entry, \ 147589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochthen edit its contents to your liking. When you're done, save the file and \ 148589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochexit your EDITOR. " 149589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch read ANSWER 150589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch $EDITOR "$CHANGELOG_ENTRY_FILE" 151589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch NEWCHANGELOG=$(mktemp) 152589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # Eliminate any trailing newlines by going through a shell variable. 1533ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # Also (1) eliminate tabs, (2) fix too little and (3) too much indentation, 1543ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # and (4) eliminate trailing whitespace. 1553ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch CHANGELOGENTRY=$(cat "$CHANGELOG_ENTRY_FILE" \ 1563ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/\t/ /g' \ 1573ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/^ \{1,7\}\([^ ]\)/ \1/g' \ 1583ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/^ \{9,80\}\([^ ]\)/ \1/g' \ 1593ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/ \+$//') 160589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch [[ -n "$CHANGELOGENTRY" ]] || die "Empty ChangeLog entry." 161589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo "$CHANGELOGENTRY" > "$NEWCHANGELOG" 162589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo "" >> "$NEWCHANGELOG" # Explicitly insert two empty lines. 163589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo "" >> "$NEWCHANGELOG" 164589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch cat ChangeLog >> "$NEWCHANGELOG" 165589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch mv "$NEWCHANGELOG" ChangeLog 166589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 167589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 1683ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 1693ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 1703ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Increment version number." 171589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch restore_if_unset "BUILD" 172589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch NEWBUILD=$(($BUILD + 1)) 173589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch confirm "Automatically increment BUILD_NUMBER? (Saying 'n' will fire up \ 174589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochyour EDITOR on $VERSION_FILE so you can make arbitrary changes. When \ 175589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochyou're done, save the file and exit your EDITOR.)" 176589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch if [ $? -eq 0 ] ; then 177589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch sed -e "/#define BUILD_NUMBER/s/[0-9]*$/$NEWBUILD/" \ 178589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -i "$VERSION_FILE" 179589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch else 180589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch $EDITOR "$VERSION_FILE" 181589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch fi 1823ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch read_and_persist_version "NEW" 183589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 184589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 1853ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 1863ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 1873ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Commit to local branch." 1883ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_version_if_unset "NEW" 1893ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch PREPARE_COMMIT_MSG="Prepare push to trunk. \ 1903ef787dbeca8a5fb1086949cda830dccee07bfbdBen MurdochNow working on version $NEWMAJOR.$NEWMINOR.$NEWBUILD." 1913ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch persist "PREPARE_COMMIT_MSG" 1923ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git commit -a -m "$PREPARE_COMMIT_MSG" \ 193589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch || die "'git commit -a' failed." 194589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 195589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 1963ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochupload_step 197589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 1983ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 1993ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2003ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Commit to the repository." 2013ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch wait_for_lgtm 202589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # Re-read the ChangeLog entry (to pick up possible changes). 203589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch cat ChangeLog | awk --posix '{ 204589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch if ($0 ~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}:/) { 205589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch if (in_firstblock == 1) { 206589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch exit 0; 207589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch } else { 208589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch in_firstblock = 1; 209589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch } 210589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch }; 211589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch print $0; 212589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch }' > "$CHANGELOG_ENTRY_FILE" 213589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git cl dcommit || die "'git cl dcommit' failed, please try again." 214589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 215589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 2163ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 2173ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2183ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Fetch straggler commits that sneaked in \ 2193ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochsince this script was started." 2203ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git svn fetch || die "'git svn fetch' failed." 2213ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git checkout svn/bleeding_edge 2223ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_if_unset "PREPARE_COMMIT_MSG" 2233ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch PREPARE_COMMIT_HASH=$(git log -1 --format=%H --grep="$PREPARE_COMMIT_MSG") 2243ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch persist "PREPARE_COMMIT_HASH" 225589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 226589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 2273ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 2283ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2293ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Squash commits into one." 230589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # Instead of relying on "git rebase -i", we'll just create a diff, because 231589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # that's easier to automate. 2323ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_if_unset "PREPARE_COMMIT_HASH" 2333ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git diff svn/trunk $PREPARE_COMMIT_HASH > "$PATCH_FILE" 234589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # Convert the ChangeLog entry to commit message format: 235589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # - remove date 236589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # - remove indentation 237589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch # - merge paragraphs into single long lines, keeping empty lines between them. 238589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch restore_if_unset "DATE" 239589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch CHANGELOGENTRY=$(cat "$CHANGELOG_ENTRY_FILE") 240589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch echo "$CHANGELOGENTRY" \ 241589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch | sed -e "s/^$DATE: //" \ 242589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch | sed -e 's/^ *//' \ 243589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch | awk '{ 244589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch if (need_space == 1) { 245589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch printf(" "); 246589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch }; 247589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch printf("%s", $0); 248589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch if ($0 ~ /^$/) { 249589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch printf("\n\n"); 250589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch need_space = 0; 251589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch } else { 252589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch need_space = 1; 253589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch } 254589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch }' > "$COMMITMSG_FILE" || die "Commit message editing failed." 255589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch rm -f "$CHANGELOG_ENTRY_FILE" 256589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 257589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 2583ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 2593ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2603ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Create a new branch from trunk." 261589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git checkout -b $TRUNKBRANCH svn/trunk \ 262589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch || die "Checking out a new branch '$TRUNKBRANCH' failed." 263589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 264589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 2653ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 2663ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2673ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Apply squashed changes." 26885b71799222b55eb5dd74ea26efe0c64ab655c8cBen Murdoch rm -f "$TOUCHED_FILES_FILE" 2693ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch apply_patch "$PATCH_FILE" 2703ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch stage_files 2713ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch rm -f "$PATCH_FILE" 272589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 273589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 2743ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 2753ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2763ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Set correct version for trunk." 2773ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_version_if_unset 278589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch sed -e "/#define MAJOR_VERSION/s/[0-9]*$/$MAJOR/" \ 279589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -e "/#define MINOR_VERSION/s/[0-9]*$/$MINOR/" \ 280589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -e "/#define BUILD_NUMBER/s/[0-9]*$/$BUILD/" \ 281589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -e "/#define PATCH_LEVEL/s/[0-9]*$/0/" \ 282589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -e "/#define IS_CANDIDATE_VERSION/s/[0-9]*$/0/" \ 283589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch -i "$VERSION_FILE" || die "Patching $VERSION_FILE failed." 284589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 285589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 2863ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 2873ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2883ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Commit to local trunk branch." 289589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git add "$VERSION_FILE" 290589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git commit -F "$COMMITMSG_FILE" || die "'git commit' failed." 291589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch rm -f "$COMMITMSG_FILE" 292589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 293589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 2943ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 2953ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 2963ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Sanity check." 297589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch confirm "Please check if your local checkout is sane: Inspect $VERSION_FILE, \ 298589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochcompile, run tests. Do you want to commit this new trunk revision to the \ 299589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochrepository?" 300589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch [[ $? -eq 0 ]] || die "Execution canceled." 301589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 302589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 3033ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 3043ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 3053ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Commit to SVN." 3063ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git svn dcommit | tee >(grep -E "^Committed r[0-9]+" \ 3073ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch | sed -e 's/^Committed r\([0-9]\+\)/\1/' \ 3083ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch > "$TRUNK_REVISION_FILE") \ 3093ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch || die "'git svn dcommit' failed." 3103ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch TRUNK_REVISION=$(cat "$TRUNK_REVISION_FILE") 3113ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch persist "TRUNK_REVISION" 3123ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch rm -f "$TRUNK_REVISION_FILE" 313589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 314589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 3153ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 3163ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 3173ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Tag the new revision." 3183ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_version_if_unset 319589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch git svn tag $MAJOR.$MINOR.$BUILD -m "Tagging version $MAJOR.$MINOR.$BUILD" \ 320589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch || die "'git svn tag' failed." 321589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdochfi 322589d6979ff2ef66fca2d8fa51404c369ca5e9250Ben Murdoch 3233ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ -n "$CHROME_PATH" ] ; then 3243ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch 3253ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch let CURRENT_STEP+=1 3263ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch if [ $START_STEP -le $CURRENT_STEP ] ; then 3273ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Switch to Chromium checkout." 3283ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch V8_PATH=$(pwd) 3293ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch persist "V8_PATH" 3303ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch cd "$CHROME_PATH" 3313ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch initial_environment_checks 3323ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # Check for a clean workdir. 3333ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch [[ -z "$(git status -s -uno)" ]] \ 3343ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch || die "Workspace is not clean. Please commit or undo your changes." 3353ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # Assert that the DEPS file is there. 3363ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch [[ -w "DEPS" ]] || die "DEPS file not present or not writable; \ 3373ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochcurrent directory is: $(pwd)." 3383ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch fi 33985b71799222b55eb5dd74ea26efe0c64ab655c8cBen Murdoch 3403ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch let CURRENT_STEP+=1 3413ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch if [ $START_STEP -le $CURRENT_STEP ] ; then 3423ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Update the checkout and create a new branch." 3433ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git checkout master || die "'git checkout master' failed." 3443ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git pull || die "'git pull' failed, please try again." 3453ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_if_unset "TRUNK_REVISION" 3463ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git checkout -b "v8-roll-$TRUNK_REVISION" \ 3473ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch || die "Failed to checkout a new branch." 3483ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch fi 3493ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch 3503ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch let CURRENT_STEP+=1 3513ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch if [ $START_STEP -le $CURRENT_STEP ] ; then 3523ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Create and upload CL." 3533ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch # Patch DEPS file. 3543ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch sed -r -e "/\"v8_revision\": /s/\"[0-9]+\"/\"$TRUNK_REVISION\"/" \ 3553ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch -i DEPS 3563ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_version_if_unset 3573ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo -n "Please enter the email address of a reviewer for the roll CL: " 3583ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch read REVIEWER 3593ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git commit -am "Update V8 to version $MAJOR.$MINOR.$BUILD. 3603ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch 3613ef787dbeca8a5fb1086949cda830dccee07bfbdBen MurdochTBR=$REVIEWER" || die "'git commit' failed." 3623ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch git cl upload --send-mail \ 3633ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch || die "'git cl upload' failed, please try again." 3643ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo "CL uploaded." 3653ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch fi 3663ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch 3673ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch let CURRENT_STEP+=1 3683ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch if [ $START_STEP -le $CURRENT_STEP ] ; then 3693ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Returning to V8 checkout." 3703ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_if_unset "V8_PATH" 3713ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch cd "$V8_PATH" 3723ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch fi 3733ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochfi # if [ -n "$CHROME_PATH" ] 3743ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch 3753ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochlet CURRENT_STEP+=1 3763ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochif [ $START_STEP -le $CURRENT_STEP ] ; then 3773ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo ">>> Step $CURRENT_STEP: Done!" 3783ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_version_if_unset 3793ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch restore_if_unset "TRUNK_REVISION" 3803ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch if [ -n "$CHROME_PATH" ] ; then 3813ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo "Congratulations, you have successfully created the trunk revision \ 3823ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch$MAJOR.$MINOR.$BUILD and rolled it into Chromium. Please don't forget to \ 3833ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdochupdate the v8rel spreadsheet:" 3843ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch else 3853ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo "Congratulations, you have successfully created the trunk revision \ 3863ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch$MAJOR.$MINOR.$BUILD. Please don't forget to roll this new version into \ 3873ef787dbeca8a5fb1086949cda830dccee07bfbdBen MurdochChromium, and to update the v8rel spreadsheet:" 3883ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch fi 3893ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch echo -e "$MAJOR.$MINOR.$BUILD\ttrunk\t$TRUNK_REVISION" 3903ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch common_cleanup 3913ef787dbeca8a5fb1086949cda830dccee07bfbdBen Murdoch [[ "$TRUNKBRANCH" != "$CURRENT_BRANCH" ]] && git branch -D $TRUNKBRANCH 39285b71799222b55eb5dd74ea26efe0c64ab655c8cBen Murdochfi 393