[Mondrian] Re: Mondrian branch & release process

Will Gorman wgorman at pentaho.com
Sat Jun 21 23:19:32 CDT 2008


Hi Julian,

I've checked out //open/mondrian-release/3.0 following your
instructions, I updated my p4 client, and did a sync
on //open/mondrian-release/3.0.  Do I need to do something special with
the sync?  The command I entered was "p4
sync //[myclient]/mondrian-release-3.0/...", and it looks like the
branch is at the latest revision vs. 11016 (the ivy files are present,
etc).

Do I need to execute a similar p4 sync //... at 11016 command like you did
in setting up the branch?

This may be the reason why my integrate commands are also not working,
but I wanted to verify the syntax, when trying to merge change 11017
with the branch:

"p4 integrate -n -c 11017 -b mondrian_dev_to_release_3.0"

At the moment this returns "Change 11017 is already committed.", but I'd
expect it to update the related changelist files to that version.

Thanks!

Will

On Sat, 2008-06-21 at 16:44 -0700, Julian Hyde wrote:
> Will,
>  
> I have created a mondrian branch that we can make release 3.0.4 from.
> In change 11204, I have initially copied over as of change 11016 (the
> change corresponding to the 3.0.3 release).
>  
> Can you check through the changes between 11016 and now and see
> whether there are some bug fixes from the main line we want to include
> in 3.0.4? We can do this by selectively integrating files. It's not
> hard - and perforce remembers what revisions we have integrated
> to/from so it's difficult to screw things up.
>  
> Branching details
>  
> The path is //open/mondrian-release/3.0 (meaning that we could make a
> succession of releases 3.0.4, 3.0.5 etc. from this branch). Perforce
> doesn't have branches as such (that path is just a path), but the 'p4
> branch' command allows you to define a mapping between two
> subdirectories that you want to integrate between on a regular basis.
>  
> I have done the following:
>  
> # Create the branch specification
> p4 branch mondrian_dev_to_release_3.0
>  
> # Get the files that are in the 3.0.3 release
> p4 sync //open/mondrian/... at 11016
>  
> # Integrate according to the branch specification, that is, each file
> under
> # //open/mondrian is mapped to the corresponding file under
> # //open/mondrian-release/3.0.
> p4 integrate -t -b mondrian_dev_to_release_3.0
>  
> If you want to integrate bug fixes back to main line, you can use the
> '-r' flag to integrate in the reverse direction:
>  
> p4 integrate -t -b mondrian_dev_to_release_3.0 -r
>  
> You will need to issue 'p4 resolve' to resolve any conflicts before
> submitting the change.
>  
> Developing against a branch
>  
> Type 'p4 client' and include the line
>  
>     //open/mondrian-release/3.0/... //<yourclient>/mondrian-3.0/...
>  
> in your client specification. Keep the existing line
>  
>     //open/mondrian/... //<yourclient>/mondrian/...
>  
> as it will make integrating between the branches possible.
>  
>  
> To make a mondrian release
>  
> From memory, here are the steps to create a mondrian release. I
> suppose we should wikify these once we have debugged the process.
>       * Make sure that the regression suite succeeds. 
>       * Make sure that jpivot builds from source against the latest
>         mondrian source code. 
>       * Make sure that all bugs/RFEs flagged 'must fix this release'
>         are fixed. 
>       * Change the release number in build.xml. 
>       * Modify buildJdk16.{sh,bat} to point to your JDK 1.6 home. 
>       * Create CHANGES.txt using 'p4 changes -l ...'. For a point
>         release such as this, it should probably include changes since
>         the first production major release (i.e. 3.0.3). 
>       * Create or modify RELEASE.txt. Keep lines to 60 chars wide
>         (SF.net uses a huge font for some reason). Be sure to include
>         details of public APIs you have changed. 
>       * Do a 'p4 diff ...' and 'p4 diff -se ...' to make sure that
>         mondrian.properties, build.properties, log4j.properties etc.
>         are not modified. 
>       * Using JDK 1.5 (not 1.4 or 1.6), do 'ant clean' then 'ant
>         release'. This will create files lib/mondrian-<release>.zip
>         and lib/mondrian-<release>-derby.zip. 
>       * Do one or two test installs from these files. Make sure that
>         jpivot and xmla server work. 
>       * Create a release at sf.net. Upload CHANGES.txt and
>         RELEASE.txt, and the two .zip files above. Set each file type
>         to '.zip file' and 'Platform independent'. Check the box to
>         notify people. 
>       * Send a message announcing the release to developers. 
>       * Run doc/doc2web.sh to post the latest documentation (including
>         javadoc) to http://mondrian.pentaho.org. You will need a login
>         to that site (ask Lee) and set up ssh key pairs so you can ssh
>         and scp without entering passwords. 
>       * Work with Andreas to make a new jpivot release if necessary.
> Julian



More information about the Mondrian mailing list