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

Unified Diff: tools/merge-to-branch.sh

Issue 9835048: Allow a patch file to be specified to merge-to-branch.sh (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: review feedback Created 8 years, 9 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/merge-to-branch.sh
diff --git a/tools/merge-to-branch.sh b/tools/merge-to-branch.sh
index d75cafd906861154124d31606b020129232e9680..49bf3e44896cefdb3d90d79d42276e87bcb19bbd 100755
--- a/tools/merge-to-branch.sh
+++ b/tools/merge-to-branch.sh
@@ -48,6 +48,7 @@ to other branches, including trunk.
OPTIONS:
-h Show this message
-s Specify the step where to start work. Default: 0.
+ -p Specify a patch file to apply as part of the merge
EOF
}
@@ -61,17 +62,19 @@ restore_patch_commit_hashes() {
restore_patch_commit_hashes_if_unset() {
[[ "${#PATCH_COMMIT_HASHES[@]}" == 0 ]] && restore_patch_commit_hashes
- [[ "${#PATCH_COMMIT_HASHES[@]}" == 0 ]] && \
+ [[ "${#PATCH_COMMIT_HASHES[@]}" == 0 ]] && [[ -z "$EXTRA_PATCH" ]] && \
die "Variable PATCH_COMMIT_HASHES could not be restored."
}
########## Option parsing
-while getopts ":hs:f" OPTION ; do
+while getopts ":hs:fp:" OPTION ; do
case $OPTION in
h) usage
exit 0
;;
+ p) EXTRA_PATCH=$OPTARG
+ ;;
f) rm -f "$ALREADY_MERGING_SENTINEL_FILE"
;;
s) START_STEP=$OPTARG
@@ -95,6 +98,9 @@ touch "$ALREADY_MERGING_SENTINEL_FILE"
initial_environment_checks
if [ $START_STEP -le $CURRENT_STEP ] ; then
+ if [ ${#@} -lt 2 ] && [ -z "$EXTRA_PATCH" ] ; then
+ die "Either a patch file or revision numbers must be specified"
+ fi
echo ">>> Step $CURRENT_STEP: Preparation"
MERGE_TO_BRANCH=$1
[[ -n "$MERGE_TO_BRANCH" ]] || die "Please specify a branch to merge to"
@@ -121,11 +127,15 @@ revisions associated with the patches."
[[ -n "$NEXT_HASH" ]] \
|| die "Cannot determine git hash for r$REVISION"
PATCH_COMMIT_HASHES[$current]="$NEXT_HASH"
- [[ -n "$NEW_COMMIT_MSG" ]] && NEW_COMMIT_MSG="$NEW_COMMIT_MSG,"
- NEW_COMMIT_MSG="$NEW_COMMIT_MSG r$REVISION"
+ [[ -n "$REVISION_LIST" ]] && REVISION_LIST="$REVISION_LIST,"
+ REVISION_LIST="$REVISION_LIST r$REVISION"
let current+=1
done
- NEW_COMMIT_MSG="Merged$NEW_COMMIT_MSG into $MERGE_TO_BRANCH branch."
+ if [ -z "$REVISION_LIST" ] ; then
+ NEW_COMMIT_MSG="Applied patch to $MERGE_TO_BRANCH branch."
+ else
+ NEW_COMMIT_MSG="Merged$REVISION_LIST into $MERGE_TO_BRANCH branch."
+ fi;
echo "$NEW_COMMIT_MSG" > $COMMITMSG_FILE
echo "" >> $COMMITMSG_FILE
@@ -145,6 +155,7 @@ revisions associated with the patches."
echo "BUG=$BUG_AGGREGATE" >> $COMMITMSG_FILE
fi
persist "NEW_COMMIT_MSG"
+ persist "REVISION_LIST"
persist_patch_commit_hashes
fi
@@ -159,6 +170,9 @@ if [ $START_STEP -le $CURRENT_STEP ] ; then
git log -1 -p $HASH > "$TEMPORARY_PATCH_FILE"
apply_patch "$TEMPORARY_PATCH_FILE"
done
+ if [ -n "$EXTRA_PATCH" ] ; then
+ apply_patch "$EXTRA_PATCH"
+ fi
stage_files
fi
@@ -234,10 +248,20 @@ if [ $START_STEP -le $CURRENT_STEP ] ; then
https://v8.googlecode.com/svn/$TO_URL \
https://v8.googlecode.com/svn/tags/$NEWMAJOR.$NEWMINOR.$NEWBUILD.$NEWPATCH \
-m "Tagging version $NEWMAJOR.$NEWMINOR.$NEWBUILD.$NEWPATCH"
+ persist "TO_URL"
fi
let CURRENT_STEP+=1
if [ $START_STEP -le $CURRENT_STEP ] ; then
echo ">>> Step $CURRENT_STEP: Cleanup."
+ restore_if_unset "SVN_REVISION"
+ restore_if_unset "TO_URL"
+ restore_if_unset "REVISION_LIST"
+ restore_version_if_unset "NEW"
common_cleanup
+ echo "*** SUMMARY ***"
+ echo "version: $NEWMAJOR.$NEWMINOR.$NEWBUILD.$NEWPATCH"
+ echo "branch: $TO_URL"
+ echo "svn revision: $SVN_REVISION"
+ [[ -n "$REVISION_LIST" ]] && echo "patches:$REVISION_LIST"
fi
« 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