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

Side by Side Diff: tools/merge-to-branch.sh

Issue 152343011: Add support to automatically search for corresponding architecture ports in merge-to-branch.sh. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix FULL_REVISION_LIST restoring. Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # Copyright 2012 the V8 project authors. All rights reserved. 2 # Copyright 2012 the V8 project authors. All rights reserved.
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following 10 # copyright notice, this list of conditions and the following
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 let CURRENT_STEP+=1 132 let CURRENT_STEP+=1
133 if [ $START_STEP -le $CURRENT_STEP ] ; then 133 if [ $START_STEP -le $CURRENT_STEP ] ; then
134 echo ">>> Step $CURRENT_STEP: Create a fresh branch for the patch." 134 echo ">>> Step $CURRENT_STEP: Create a fresh branch for the patch."
135 restore_if_unset "MERGE_TO_BRANCH" 135 restore_if_unset "MERGE_TO_BRANCH"
136 git checkout -b $BRANCHNAME svn/$MERGE_TO_BRANCH \ 136 git checkout -b $BRANCHNAME svn/$MERGE_TO_BRANCH \
137 || die "Creating branch $BRANCHNAME failed." 137 || die "Creating branch $BRANCHNAME failed."
138 fi 138 fi
139 139
140 let CURRENT_STEP+=1 140 let CURRENT_STEP+=1
141 if [ $START_STEP -le $CURRENT_STEP ] ; then 141 if [ $START_STEP -le $CURRENT_STEP ] ; then
142 echo ">>> Step $CURRENT_STEP: Search for corresponding architecture ports."
143 for REVISION in "$@" ; do
144 # Add the revision to the array if it isn't already added.
145 if [[ ! "${FULL_REVISION_LIST[@]}" =~ (^| )$REVISION($| ) ]] ; then
146 FULL_REVISION_LIST=("${FULL_REVISION_LIST[@]}" "$REVISION")
147 fi
148 # Search for commits which matches the "Port rXXX" pattern.
149 GIT_HASHES=$(git log svn/bleeding_edge --reverse \
150 --format=%H --grep="Port r$REVISION")
151 if [ -n "$GIT_HASHES" ]; then
152 while read -r NEXT_GIT_HASH; do
153 NEXT_SVN_REVISION=$(git svn find-rev $NEXT_GIT_HASH svn/bleeding_edge)
154 [[ -n "$NEXT_SVN_REVISION" ]] \
155 || die "Cannot determine svn revision for $NEXT_GIT_HASH"
156 FULL_REVISION_LIST=("${FULL_REVISION_LIST[@]}" "$NEXT_SVN_REVISION")
157 REVISION_TITLE=$(git log -1 --format=%s $NEXT_GIT_HASH)
158 # Is this revision included in the original revision list?
159 if [[ $@ =~ (^| )$NEXT_SVN_REVISION($| ) ]] ; then
160 echo "Found port of r$REVISION -> \
161 r$NEXT_SVN_REVISION (already included): $REVISION_TITLE"
162 else
163 echo "Found port of r$REVISION -> \
164 r$NEXT_SVN_REVISION: $REVISION_TITLE"
165 PORT_REVISION_LIST=("${PORT_REVISION_LIST[@]}" "$NEXT_SVN_REVISION")
166 fi
167 done <<< "$GIT_HASHES"
168 fi
169 done
170 # Next step expects a list, not an array.
171 FULL_REVISION_LIST="${FULL_REVISION_LIST[@]}"
172 # Do we find any port?
173 if [ ${#PORT_REVISION_LIST[@]} -ne 0 ] ; then
174 confirm "Automatically add corresponding ports (${PORT_REVISION_LIST[*]})?"
175 #: 'n': Restore the original revision list.
176 if [ $? -ne 0 ] ; then
177 FULL_REVISION_LIST="$@"
178 fi
179 fi
180 persist "FULL_REVISION_LIST"
181 fi
182
183 let CURRENT_STEP+=1
184 if [ $START_STEP -le $CURRENT_STEP ] ; then
142 echo ">>> Step $CURRENT_STEP: Find the git \ 185 echo ">>> Step $CURRENT_STEP: Find the git \
143 revisions associated with the patches." 186 revisions associated with the patches."
187 restore_if_unset "FULL_REVISION_LIST"
144 current=0 188 current=0
145 for REVISION in "$@" ; do 189 for REVISION in $FULL_REVISION_LIST ; do
146 NEXT_HASH=$(git svn find-rev "r$REVISION" svn/bleeding_edge) 190 NEXT_HASH=$(git svn find-rev "r$REVISION" svn/bleeding_edge)
147 [[ -n "$NEXT_HASH" ]] \ 191 [[ -n "$NEXT_HASH" ]] \
148 || die "Cannot determine git hash for r$REVISION" 192 || die "Cannot determine git hash for r$REVISION"
149 PATCH_COMMIT_HASHES[$current]="$NEXT_HASH" 193 PATCH_COMMIT_HASHES[$current]="$NEXT_HASH"
150 [[ -n "$REVISION_LIST" ]] && REVISION_LIST="$REVISION_LIST," 194 [[ -n "$REVISION_LIST" ]] && REVISION_LIST="$REVISION_LIST,"
151 REVISION_LIST="$REVISION_LIST r$REVISION" 195 REVISION_LIST="$REVISION_LIST r$REVISION"
152 let current+=1 196 let current+=1
153 done 197 done
154 if [ -n "$REVISION_LIST" ] ; then 198 if [ -n "$REVISION_LIST" ] ; then
155 if [ -n "$REVERSE_PATCH" ] ; then 199 if [ -n "$REVERSE_PATCH" ] ; then
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 restore_version_if_unset "NEW" 334 restore_version_if_unset "NEW"
291 common_cleanup 335 common_cleanup
292 if [ $REVERT_FROM_BLEEDING_EDGE==0 ] ; then 336 if [ $REVERT_FROM_BLEEDING_EDGE==0 ] ; then
293 echo "*** SUMMARY ***" 337 echo "*** SUMMARY ***"
294 echo "version: $NEWMAJOR.$NEWMINOR.$NEWBUILD.$NEWPATCH" 338 echo "version: $NEWMAJOR.$NEWMINOR.$NEWBUILD.$NEWPATCH"
295 echo "branch: $TO_URL" 339 echo "branch: $TO_URL"
296 echo "svn revision: $SVN_REVISION" 340 echo "svn revision: $SVN_REVISION"
297 [[ -n "$REVISION_LIST" ]] && echo "patches:$REVISION_LIST" 341 [[ -n "$REVISION_LIST" ]] && echo "patches:$REVISION_LIST"
298 fi 342 fi
299 fi 343 fi
OLDNEW
« 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