What to do for a release

From Gramps
Revision as of 10:25, 27 January 2014 by Romjerome (talk | contribs) (Push to repository)
Jump to: navigation, search

What to do for a release

Updated guidelines for Git

Translation update

Run the following steps:

git checkout gramps40
git pull
cd po
python update_po.py -p # or intltool-update -p , .genpot.sh see New environment
git diff gramps.pot

If there have been changes, you'll need to commit gramps.pot and ask translators to update their .po files before you can make a release.

Release name

Refer to (and update) the list of previous releases to select an appropriate name.

Changelog and NEWS file

Create the changelog files:

git log gramps-4.0.1.. --pretty --numstat --summary --no-merges | git2cl > ChangeLog
git log gramps-4.0.1.. --pretty --numstat --summary --no-merges -- po | git2cl > po/ChangeLog

Using the Changelog files generated with git2cl in the step above, edit and update the NEWS file. Commit the NEWS file:

git commit -am "update for 4.0.2 release"

Working on VERSION

Modify version.py to indicate an official release:

gedit gramps/version.py 

and update the version for the release:

VERSION_TUPLE = (4, 0, 2)

Save change:

git commit -am "make official release"

The version number should be the same on "about" dialog:

python Gramps.py

Create a tag

Create the release tag:

git tag -am "tag 4.0.2" gramps-4.0.2

Push to repository

Push the changes to the repository:

git push origin gramps-4.0.2
  • bump the version number in gramps/version.py

Work on tag

git checkout -b gramps347 origin/tags/gramps-3.4.7

Changelog and source tarball

The Changelog files are required for the source tarball, but do not commit them to Git.

  1. Copy files from previous run under branch.
  2. Modify MANIFEST.in
+ include ChangeLog

Create the official source tarball:

python setup.py sdist

Note you should now have the file dist/gramps-4.0.2.tar.gz, approximately 14.7 Mo in size.

Making the source tarball available

Announcing the new release

Post-release

  • in trunk, merge forward the NEWS file

Guidelines for version 4.0

These notes are based on version 4.0.0alpha1, released in December 2012. The steps assume a working gramps40 source directory.

Translation update

Run the following steps:

cd gramps40
svn update
cd po
python update_po.py -p # or intltool-update -p , .genpot.sh see New environment
svn diff gramps.pot

If there have been changes, you'll need to commit gramps.pot and ask translators to update their .po files before you can make a release.

Release name

Refer to (and update) the list of previous releases to select an appropriate name.

Changelog and NEWS file

Create the changelog files:

svn2cl --reparagraph --include-rev --authors=data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../data/authors.xml
cd ..

Using the Changelog files generated with svn2cl in the step above, edit and update the NEWS file. Commit the NEWS file. Note the svn commit revision number, which you'll need in the next step when you create the subversion tag:

svn commit -m "update for 4.0.0-alpha1 release"
Committed revision 20810.

Working on VERSION

Modify version.py to indicate an official release:

gedit gramps/version.py 

and update the version for the release:

VERSION_TUPLE = (4, 0, 0)

Save change.

svn commit -m "make official release" gramps/version.py

The version number should be the same on "about" dialog:

python Gramps.py

Subversion tag

Using the previous commit revision number, create a tag for the new release:

svn copy -r 22385 https://svn.code.sf.net/p/gramps/code/branches/maintenance/gramps40 https://svn.code.sf.net/p/gramps/code/tags/gramps-4.0.0 -m "tag 4.0.0"
Committed revision 22386.

Changelog and source tarball

The Changelog files are required for the source tarball, but do not commit them to subversion.

  1. Copy files from previous run under branch.
  2. Modify MANIFEST.in
+ include ChangeLog

Create the official source tarball:

python setup.py sdist

Note you should now have the file dist/gramps-4.0.0.tar.gz, approximately 14.7 Mo in size.

Making the source tarball available

Announcing the new release

Post-release

  • bump the version number in gramps/version.py
  • in trunk, merge forward the NEWS file

Guidelines for version 3.4 and before

These notes are based on version 3.4.1, released in August 2012. The steps assume a working gramps34 source directory.

Translation update

Run the following steps:

cd gramps34
svn update
cd po
make gramps.pot
svn diff gramps.pot

If there have been changes, you'll need to commit gramps.pot and ask translators to update their .po files before you can make a release.

Release name

Refer to (and update) the list of previous releases to select an appropriate name.

Changelog and NEWS file

Create the changelog files:

svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
cd ..

Using the Changelog files generated with svn2cl in the step above, edit and update the NEWS file. Commit the NEWS file. Note the svn commit revision number, which you'll need in the next step when you create the subversion tag:

svn commit -m "update for 3.4.1 release"
Committed revision 20254.

Subversion tag

Using the previous commit revision number, create a tag for the new release:

svn copy -r 20254 https://svn.code.sf.net/p/gramps/code/branches/maintenance/gramps34 https://svn.code.sf.net/p/gramps/code/tags/gramps-3.4.1 -m "tag 3.4.1"
Committed revision 20255.

Working on the tag

Check out the new tag:

cd ..
svn co https://svn.code.sf.net/p/gramps/code/tags/gramps-3.4.1
cd gramps-3.4.1

Modify configure.in to indicate an official release:

gedit configure.in

There are two changes to make:

1) Change the following line:
-RELEASE=0.SVN$(svnversion -n .)
+dnl RELEASE=0.SVN$(svnversion -n .)
2) And change this line:
-dnl RELEASE=1
+RELEASE=1

Save these two changes.

svn commit -m "make official release" configure.in

Now run the following and check the version number in the "about" dialog:

./autogen.sh
make
python src/gramps.py

Changelog and source tarball

Re-create (or copy from above) the 2 Changelog files. The Changelog files are required for the source tarball, but do not commit to subversion:

svn2cl --reparagraph --include-rev --authors=src/data/authors.xml
cd po
svn2cl --reparagraph --include-rev --authors=../src/data/authors.xml
cd ..

Create the official source tarball:

make distcheck

Note you should now have the file gramps-3.4.1.tar.gz, approximately 9.6 Mo in size.

Making the source tarball available

Announcing the new release

Post-release

  • in gramps34, bump the version number in configure.in and src/const.py.in
  • in trunk, merge forward the NEWS file

See also

External links