Reviewers: danno,
Message:
PTAL.
Description:
push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to
apply
patches
Please review this at https://codereview.chromium.org/11031065/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M tools/common-includes.sh
M tools/merge-to-branch.sh
M tools/push-to-trunk.sh
Index: tools/common-includes.sh
diff --git a/tools/common-includes.sh b/tools/common-includes.sh
index
b0c20b296fdbab52ce2a1fac4aec81baa19423b9..7785e9fc306625e9a5f7e7ded729f92a88b08b77
100644
--- a/tools/common-includes.sh
+++ b/tools/common-includes.sh
@@ -36,9 +36,7 @@ TEMP_BRANCH=$BRANCHNAME-temporary-branch-created-by-script
VERSION_FILE="src/version.cc"
CHANGELOG_ENTRY_FILE="$PERSISTFILE_BASENAME-changelog-entry"
PATCH_FILE="$PERSISTFILE_BASENAME-patch"
-PATCH_OUTPUT_FILE="$PERSISTFILE_BASENAME-patch-output"
COMMITMSG_FILE="$PERSISTFILE_BASENAME-commitmsg"
-TOUCHED_FILES_FILE="$PERSISTFILE_BASENAME-touched-files"
TRUNK_REVISION_FILE="$PERSISTFILE_BASENAME-trunkrevision"
START_STEP=0
CURRENT_STEP=0
@@ -181,8 +179,8 @@ the uploaded CL."
}
wait_for_resolving_conflicts() {
- echo "Applying the patch failed. Either type \"ABORT<Return>\", or \
-resolve the conflicts, stage the touched files with 'git add' and \
+ echo "Applying the patch \"$1\" failed. Either type \"ABORT<Return>\",
or \
+resolve the conflicts, stage *all* touched files with 'git add', and \
type \"RESOLVED<Return>\""
unset ANSWER
while [ "$ANSWER" != "RESOLVED" ] ; do
@@ -195,24 +193,6 @@ type \"RESOLVED<Return>\""
# Takes a file containing the patch to apply as first argument.
apply_patch() {
- patch $REVERSE_PATCH -p1 < "$1" > "$PATCH_OUTPUT_FILE" || \
- { cat "$PATCH_OUTPUT_FILE" && wait_for_resolving_conflicts; }
- tee < "$PATCH_OUTPUT_FILE" >(grep "patching file" \
- | awk '{print $NF}'
"$TOUCHED_FILES_FILE")
- rm "$PATCH_OUTPUT_FILE"
-}
-
-stage_files() {
- # Stage added and modified files.
- TOUCHED_FILES=$(cat "$TOUCHED_FILES_FILE")
- for FILE in $TOUCHED_FILES ; do
- git add "$FILE"
- done
- # Stage deleted files.
- DELETED_FILES=$(git status -s -uno --porcelain | grep "^ D" \
- | awk '{print $NF}')
- for FILE in $DELETED_FILES ; do
- git rm "$FILE"
- done
- rm -f "$TOUCHED_FILES_FILE"
+ git apply --index --reject $REVERSE_PATCH "$1" || \
+ wait_for_resolving_conflicts "$1";
}
Index: tools/merge-to-branch.sh
diff --git a/tools/merge-to-branch.sh b/tools/merge-to-branch.sh
index
d26fbcc4069c2bb99bb4da8b28a3653e5a55e6a1..e0011edff02d382559172eee478bd4a9efb48750
100755
--- a/tools/merge-to-branch.sh
+++ b/tools/merge-to-branch.sh
@@ -186,7 +186,6 @@ if [ $START_STEP -le $CURRENT_STEP ] ; then
if [ -n "$EXTRA_PATCH" ] ; then
apply_patch "$EXTRA_PATCH"
fi
- stage_files
fi
let CURRENT_STEP+=1
Index: tools/push-to-trunk.sh
diff --git a/tools/push-to-trunk.sh b/tools/push-to-trunk.sh
index
a193d57384d7ce1259231a101189a97ffb5f4470..8512d128778d4cad7b26d6c5c5b7bc44f70a7341
100755
--- a/tools/push-to-trunk.sh
+++ b/tools/push-to-trunk.sh
@@ -268,7 +268,6 @@ if [ $START_STEP -le $CURRENT_STEP ] ; then
echo ">>> Step $CURRENT_STEP: Apply squashed changes."
rm -f "$TOUCHED_FILES_FILE"
apply_patch "$PATCH_FILE"
- stage_files
rm -f "$PATCH_FILE"
fi
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev