Merge branch 'master' into recurring-activity-46
[civicrm-core.git] / tools / scripts / releaser / releaser
index e02d1db8842da7501e4561bc1bacd96f6ed422b0..08238b5a80efda23e27ef6006c8baed59a653cd9 100755 (executable)
@@ -57,7 +57,7 @@ function do_mk_project() {
     fi
   done
 
-  $cmd_gitify all "$git_base_url" "$workdir/$version/export" --l10n
+  $cmd_gitify all "$git_base_url" "$workdir/$version/export" --l10n --branch "$start_point" --skip-gencode
 }
 
 #################################################
@@ -167,17 +167,40 @@ function do_publish() {
 #################################################
 ## Update Version Info
 function do_update() {
-  # FIXME: This assumes one-digit point versions
-  point=(${version: -1})
-  point=`expr $point + 1`
-  new_ver=(${version:0:4})
-  new_ver=$new_ver$point
-  cd $workdir/$version/export
-  sed -i -e "s/$version/$new_ver/g" xml/version.xml
-  sed -i -e "s/$version/$new_ver/g" sql/civicrm_generated.mysql
-  git add xml/version.xml sql/civicrm_generated.mysql
-  git commit -m "Update version to $new_ver"
-  git push origin "$version"
+  echo "VERSION UPDATE: Enter the version that comes after $version (or enter nothing to abort)"
+  read new_ver
+  if [ -n "$new_ver" ]; then
+    cd $workdir/$version/export
+    # create sql upgrade file
+    tpl="CRM/Upgrade/Incremental/sql/$new_ver.mysql.tpl"
+    if [ ! -f $tpl ]; then
+      echo "{* file to handle db changes in $new_ver during upgrade *}" > $tpl
+    fi
+    # escape regex special chars
+    arg=`echo "$version" | sed 's:[]\[\^\$\.\*\/]:\\\\&:g'`
+    for file in xml/version.xml sql/civicrm_generated.mysql; do
+      set -ex
+      git checkout $file
+      sed "s/$arg/$new_ver/" < $file > $file.tmp
+      mv $file.tmp $file
+      set +x
+    done
+    # print the diff directly to the screen
+    git diff | cat
+    echo "Push these changes? y/n"
+    read input
+    if [ "$input" = "y" ]; then
+      set -ex
+      git add  xml/version.xml sql/civicrm_generated.mysql $tpl
+      git commit -m "Update version to $new_ver"
+      git push origin "$start_point"
+      set +x
+    else
+      do_update
+    fi
+  else
+    echo "No version entered. Aborting version update."
+  fi
 }
 
 #################################################
@@ -211,9 +234,8 @@ for ACT in "$@" ; do
       set +x
       ;;
     --update)
-      set -ex
-      do_update
       set +x
+      do_update
       ;;
     --clean)
       set -ex