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

Reply via email to