[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

svn-roll.sh - script for rolling a release

From: Julian Foad <julianfoad_at_apache.org>
Date: Mon, 22 Jul 2019 15:52:35 +0100

Here is a shell script I wrote, that I have been using for rolling a

I ought to push this functionality into 'release.py', but I haven't, so
I thought the least I could do is share it as-is.

Main enhancements over 'release.py':

   * Lets me run all the release steps in the same simple way, by
passing one or more STEP keywords (roll, sign, test, tag, post, publish,
announce, clean-dist) and the VERSION number, and not having to remember
the REVNUM each time. 'release.py' currently requires different args for
each subcommand.

   * Tries to encode all the steps described in and around
     either automated or by printing manual instructions.

Help text:

$ svn-roll.sh --help 1.12.2
Roll a minor release or release candidate
usage: /home/julianfoad/bin/svn-roll.sh STEP... [OPTION...] VERSION

     build-env download and set up prerequisites, into 'prefix/'
     roll roll the tarballs, writing into 'deploy/'
     sign sign the tarballs;
     test (tell how to) run my tests
                  copy to dist-dev WC, ready for my testing
   * tag create a tag
   * post post the tarballs to dist-dev;
                  show an 'up for testing/signing' email
   * publish move the tarballs to the dist-release area;
     announce print release announcements (email and web content)
   * clean-dist clean all old releases from the dist-release area

   * This step commits a modification to the svn project resources.

     --base-dir=DIR directory for all files and 'deploy/', 'prefix/',
                     also passed to release.py [default: the CWD]
     --security enable 'security release' options
     --patches=DIR specify the directory where security patches are found
     --branch=PATH specify the branch, relative to ^/subversion
                     [default: branches/VER.x]

   VERSION: a full version identifier (such as 1.1.0-rc1)

   REVISION: the branch revision number [default: from file

I hereby contribute it to the Subversion code base.

- Julian

Received on 2019-07-22 16:52:41 CEST

This is an archived mail posted to the Subversion Dev mailing list.