push-to-trunk.sh: correctly detect existing branches, git-rm deleted files
authorjkummerow@chromium.org <jkummerow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 13 Sep 2011 10:08:45 +0000 (10:08 +0000)
committerjkummerow@chromium.org <jkummerow@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 13 Sep 2011 10:08:45 +0000 (10:08 +0000)
Review URL: http://codereview.chromium.org/7886004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

tools/push-to-trunk.sh

index 74edbc4..761b733 100755 (executable)
@@ -74,11 +74,11 @@ confirm() {
 }
 
 delete_branch() {
-  local MATCH=$(git branch | grep $1)
+  local MATCH=$(git branch | grep $1 | awk '{print $NF}' )
   if [ "$MATCH" == "$1" ] ; then
     confirm "Branch $1 exists, do you want to delete it?"
     if [ $? -eq 0 ] ; then
-      git branch -D $1
+      git branch -D $1 || die "Deleting branch '$1' failed."
       echo "Branch $1 deleted."
     else
       die "Can't continue. Please delete branch $1 and try again."
@@ -352,10 +352,17 @@ if [ $STEP -le 13 ] ; then
   echo ">>> Step 13: Apply squashed changes."
   patch -p1 < "$PATCH_FILE" | tee >(awk '{print $NF}' >> "$TOUCHED_FILES_FILE")
   [[ $? -eq 0 ]] || die "Applying the patch to trunk failed."
+  # 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 "$PATCH_FILE"
   rm -f "$TOUCHED_FILES_FILE"
 fi