Commit 924b5673 authored by danno@chromium.org's avatar danno@chromium.org

Support reverse patching in merge-to-branch.sh

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9839056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent d9936b45
......@@ -175,7 +175,7 @@ the uploaded CL."
# Takes a file containing the patch to apply as first argument.
apply_patch() {
patch -p1 < "$1" > "$PATCH_OUTPUT_FILE" || \
patch $REVERSE_PATCH -p1 < "$1" > "$PATCH_OUTPUT_FILE" || \
{ cat "$PATCH_OUTPUT_FILE" && die "Applying the patch failed."; }
tee < "$PATCH_OUTPUT_FILE" >(awk '{print $NF}' >> "$TOUCHED_FILES_FILE")
rm "$PATCH_OUTPUT_FILE"
......
......@@ -49,6 +49,7 @@ 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
-r Reverse specified patches
EOF
}
......@@ -68,7 +69,7 @@ restore_patch_commit_hashes_if_unset() {
########## Option parsing
while getopts ":hs:fp:" OPTION ; do
while getopts ":hs:fp:r" OPTION ; do
case $OPTION in
h) usage
exit 0
......@@ -77,6 +78,8 @@ while getopts ":hs:fp:" OPTION ; do
;;
f) rm -f "$ALREADY_MERGING_SENTINEL_FILE"
;;
r) REVERSE_PATCH="--reverse"
;;
s) START_STEP=$OPTARG
;;
?) echo "Illegal option: -$OPTARG"
......@@ -134,7 +137,11 @@ revisions associated with the patches."
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."
if [ -n "$REVERSE_PATCH" ] ; then
NEW_COMMIT_MSG="Rollback of$REVISION_LIST in $MERGE_TO_BRANCH branch."
else
NEW_COMMIT_MSG="Merged$REVISION_LIST into $MERGE_TO_BRANCH branch."
fi;
fi;
echo "$NEW_COMMIT_MSG" > $COMMITMSG_FILE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment