[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