gcc_release: Fix up thinko in the last commit, improve error message.
authorJakub Jelinek <jakub@redhat.com>
Mon, 13 Apr 2015 08:44:56 +0000 (10:44 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 13 Apr 2015 08:44:56 +0000 (10:44 +0200)
* gcc_release: Fix up thinko in the last commit, improve error
message.  Commit all ChangeLog, DEV-PHASE and BASE-VER changes
together, rather than doing dozens of separate commits.

From-SVN: r222042

maintainer-scripts/ChangeLog
maintainer-scripts/gcc_release

index 5e152295c52903f8e46a0accbd5701d73545ab56..2f7e2271586b7115e8f00ff66c369005e1448f2f 100644 (file)
@@ -1,3 +1,9 @@
+2015-04-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc_release: Fix up thinko in the last commit, improve error
+       message.  Commit all ChangeLog, DEV-PHASE and BASE-VER changes
+       together, rather than doing dozens of separate commits.
+
 2015-04-12  Jakub Jelinek  <jakub@redhat.com>
 
        * gcc_release: For RELEASE_MAJOR 5+ only use the major
index 80ddda1e26bde99ef9577c378166a7de9d776643..639b2559aec327740458bb099e5af6755781498f 100755 (executable)
@@ -109,45 +109,49 @@ build_sources() {
 
     ${SVN} -q co "${SVNROOT}/${SVNBRANCH}" "`basename ${SOURCE_DIRECTORY}`" ||\
            error "Could not check out release sources"
-    for x in `find ${SOURCE_DIRECTORY} -name ChangeLog`; do
+    svnciargs=""
+    for x in `changedir ${SOURCE_DIRECTORY} && \
+             find . -name ChangeLog`; do
       # Update this ChangeLog file only if it does not yet contain the
       # entry we are going to add.  (This is a safety net for repeated
       # runs of this script for the same release.)
-      if ! grep "GCC ${RELEASE} released." ${x} > /dev/null ; then       
-        cat - ${x} > ${x}.new <<EOF
+      if ! grep "GCC ${RELEASE} released." ${SOURCE_DIRECTORY}/${x} > /dev/null ; then       
+       cat - ${SOURCE_DIRECTORY}/${x} > ${SOURCE_DIRECTORY}/${x}.new <<EOF
 ${LONG_DATE}  Release Manager
 
        * GCC ${RELEASE} released.
 
 EOF
-        mv ${x}.new ${x} || \
-            error "Could not update ${x}"
-        (changedir `dirname ${x}` && \
-            ${SVN} -q ci -m 'Mark ChangeLog' `basename ${x}`) || \
-            error "Could not commit ${x}"
+       mv ${SOURCE_DIRECTORY}/${x}.new ${SOURCE_DIRECTORY}/${x} \
+         || error "Could not update ${x}"
+       svnciargs="${svnciargs} ${x}"
       fi
     done
 
     # Update gcc/DEV-PHASE.
 
-    if [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` = ${RELEASE} ]; then
+    if [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` != ${RELEASE} ]; then
       [ ${RELEASE_MAJOR} -lt 5 ] && \
        error "Release number ${RELEASE} does not match BASE-VER"
       if [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` \
           = ${RELEASE_MAJOR}.`expr ${RELEASE_MINOR} - 1`.1 \
           -a x${RELEASE_REVISION} = x0 ]; then
        (changedir ${SOURCE_DIRECTORY}/gcc && \
-        echo ${RELEASE} > BASE-VER && \
-        ${SVN} -q ci -m 'Bump release' BASE-VER) || \
+        echo ${RELEASE} > BASE-VER) || \
        error "Could not update BASE-VER"
+       svnciargs="${svnciargs} gcc/BASE-VER"
       else
-       error "Release number ${RELEASE} does not match BASE-VER"
+       error "Release number ${RELEASE} does not immediately follow BASE-VER"
       fi
     fi
     (changedir ${SOURCE_DIRECTORY}/gcc && \
-     : > DEV-PHASE && \
-     ${SVN} -q ci -m 'Mark as release' DEV-PHASE) || \
+     : > DEV-PHASE) || \
     error "Could not update DEV-PHASE"
+    svnciargs="${svnciargs} gcc/DEV-PHASE"
+
+    (changedir ${SOURCE_DIRECTORY} && \
+     ${SVN} -q ci -m 'Update ChangeLog and version files for release' ${svnciargs}) || \
+    error "Could not commit ChangeLog and version file updates"
 
     # Make sure we tag the sources for a final release.
     TAG="tags/gcc_`echo ${RELEASE} | tr . _`_release"