Author: jleroux
Date: Mon May  2 21:15:33 2011
New Revision: 1098794

URL: http://svn.apache.org/viewvc?rev=1098794&view=rev
Log:
Convenient scripts to backport fixes from trunk

Added:
    ofbiz/branches/release11.04/mergefromtrunk.bat   (with props)
    ofbiz/branches/release11.04/mergefromtrunk.sh   (with props)

Added: ofbiz/branches/release11.04/mergefromtrunk.bat
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release11.04/mergefromtrunk.bat?rev=1098794&view=auto
==============================================================================
--- ofbiz/branches/release11.04/mergefromtrunk.bat (added)
+++ ofbiz/branches/release11.04/mergefromtrunk.bat Mon May  2 21:15:33 2011
@@ -0,0 +1,66 @@
+echo off
+rem #####################################################################
+rem Licensed to the Apache Software Foundation (ASF) under one
+rem or more contributor license agreements.  See the NOTICE file
+rem distributed with this work for additional information
+rem regarding copyright ownership.  The ASF licenses this file
+rem to you under the Apache License, Version 2.0 (the
+rem "License"); you may not use this file except in compliance
+rem with the License.  You may obtain a copy of the License at
+rem
+rem http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem Unless required by applicable law or agreed to in writing,
+rem software distributed under the License is distributed on an
+rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+rem KIND, either express or implied.  See the License for the
+rem specific language governing permissions and limitations
+rem under the License.
+rem #####################################################################
+rem interactive DOS version of mergefromtrunk.sh.
+rem to use : launch and pass the trunk version number to merge in release
+
+rem since we have now svn:mergeinfo changing root ("."), we need to update 
before merging
+svn up
+
+rem version to merge
+set /p version=version to merge :
+set /a prevRev=%version% - 1
+
+rem build the comment
+echo "Applied fix from trunk for revision: %version%" > comment.tmp
+svn log https://svn.apache.org/repos/asf/ofbiz/trunk -r %version% > log.tmp
+copy comment.tmp + log.tmp = comment.tmp
+del log.tmp
+rem keep the comment.tmp file svn ignored. In case of trouble always happier 
to keep trace.  It will be overidden in next backport.
+
+rem commit the backport to release with comment fom file
+echo on
+svn merge -r %prevRev%:%version% https://svn.apache.org/repos/asf/ofbiz/trunk
+echo off
+
+:menu
+echo y) tests
+echo n) exit
+
+echo Do you want to run tests (else the commit will be done automatically 
using the comment grabed from trunk by the merge)?
+choice /c:yn 
+if errorlevel = 2 goto commit
+if errorlevel = 1 goto tests
+
+:commit
+echo on
+svn commit -F comment.tmp
+goto exit
+
+:tests
+echo on
+ant clean-all
+ant run-install
+ant run-tests
+echo off
+
+echo You can now do the commit by hand if all is OK. The comment grabed from 
trunk by the merge is in the file comment.tmp at root
+
+:exit
+pause
\ No newline at end of file

Propchange: ofbiz/branches/release11.04/mergefromtrunk.bat
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: ofbiz/branches/release11.04/mergefromtrunk.bat
------------------------------------------------------------------------------
    svn:executable = *

Propchange: ofbiz/branches/release11.04/mergefromtrunk.bat
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Added: ofbiz/branches/release11.04/mergefromtrunk.sh
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release11.04/mergefromtrunk.sh?rev=1098794&view=auto
==============================================================================
--- ofbiz/branches/release11.04/mergefromtrunk.sh (added)
+++ ofbiz/branches/release11.04/mergefromtrunk.sh Mon May  2 21:15:33 2011
@@ -0,0 +1,119 @@
+#!/bin/sh
+#####################################################################
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#####################################################################
+set -e
+
+# this script requires a posix shell; namely, $(( math evaluation.
+
+help() {
+       cat << _EOF_
+$0 [options]
+
+mergefromtrunk.sh merge \$rev          Apply revision \$rev from trunk.
+mergefromtrunk.sh test                 Run test suite(clean-all, run-install, 
run-tests).
+mergefromtrunk.sh commit               Commit current fix to svn.
+mergefromtrunk.sh abort                        Abort current merge session.
+
+-h | --help            Show this help.
+_EOF_
+}
+
+cmd=""
+rev=""
+while [ $# -gt 0 ]; do
+       case "$1" in
+               (-h|--help)
+                       help
+                       exit 0
+                       ;;
+               (-*)
+                       echo "Unknown arg ($1)." 1>&2
+                       help 1>&2
+                       exit 1
+                       ;;
+               (*)
+                       if [ z = "z$cmd" ]; then
+                               cmd="$1"
+                       else
+                               case "$cmd" in
+                                       (merge)
+                                               rev="$1"
+                                               ;;
+                                       (*)
+                                               echo "Too many arguments." 1>&2
+                                               help 1>&2
+                                               exit 1
+                                               ;;
+                               esac
+                       fi
+                       ;;
+       esac
+       shift
+done
+case "$cmd" in
+       (merge)
+               if [ z = "z$rev" ]; then
+                       echo "Need a revision." 1>&2
+                       help 1>&2
+                       exit 1
+               fi
+               if [ -d runtime/merge-state ]; then
+                       echo "Merge session already started." 1>&2
+                       help 1>&2
+                       exit 1
+               fi
+               mkdir -p runtime/merge-state
+               echo "$rev" > runtime/merge-state/revision
+               # do not run any of the following commands in a complex
+               # chained pipe; if one of the commands in the pipe fails,
+               # it isn't possible to detect the failure.
+               printf "Applied fix from trunk for revision: %s \n===\n\n" 
"$rev" > runtime/merge-state/log-message
+               svn log https://svn.apache.org/repos/asf/ofbiz/trunk -r "$rev" 
> runtime/merge-state/log.txt
+               set -- $(wc -l runtime/merge-state/log.txt)
+               head -n $(($1 - 1)) < runtime/merge-state/log.txt > 
runtime/merge-state/log.txt.head
+               tail -n $(($1 - 4)) < runtime/merge-state/log.txt.head >> 
runtime/merge-state/log-message
+               prevRev=$(($rev - 1))
+               svn up
+               svn merge -r "$prevRev:$rev" 
https://svn.apache.org/repos/asf/ofbiz/trunk 
+               ;;
+       (test)
+               ant clean-all
+               ant run-install
+               ant run-tests
+               ;;
+       (commit)
+               svn commit -F runtime/merge-state/log-message
+               rm -rf runtime/merge-state
+               ;;
+       (abort)
+               svn resolved . -R
+               svn revert . -R
+               rm -rf runtime/merge-state
+               ;;
+       ("")
+               echo "Need a command and a revision." 1>&2
+               help 1>&2
+               exit 1
+               ;;
+       (*)
+               echo "Unknown command($cmd)." 1>&2
+               help 1>&2
+               exit 1
+               ;;
+esac

Propchange: ofbiz/branches/release11.04/mergefromtrunk.sh
------------------------------------------------------------------------------
    svn:eol-style = LF

Propchange: ofbiz/branches/release11.04/mergefromtrunk.sh
------------------------------------------------------------------------------
    svn:executable = *

Propchange: ofbiz/branches/release11.04/mergefromtrunk.sh
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id


Reply via email to