Release procedure



To prepare the upcoming release of mc, I reviewed the file maint/RELEASE_PROCEDURE and complete rewrote it. The main changes are:

* Translations are updated _before_ a release
* The CVS gets tagged with a release
* A new CVS branch is created for the release

The CVS branch will be used to support the released version, where the CVS tag will only mark the point where the release has been forked from the CVS HEAD.

Let's discuss it and then have a release.

Roland



This document describes step by step the release procedure of GNU
Midnight Commander.

${dotted_version} shall be replaced by something like 4.6
${underscore_version} shall be replaced by something like 4_6

day 0 (translator's prerelease)

* Check out a fresh copy from the CVS repository.
* Set the version number in configure.ac to
  "${dotted_version}-translators".
  DON'T commit configure.ac.
* Update the translation files NOT to contain line number information.
  Commit them.
* Tag the CVS tree as "MC_${underscore_version}_translators".
* Update the translation files to contain line number information.
  DON'T commit them.
* Run "make dist".
* Upload the distribution tarballs and the individual translation files
  somewhere where the translators can download it.
* Announce the availibility of a "translator" prerelease on mc-devel.
  Inform the translators of the prerelease.
  Inform the developers of a fourteen-day "feature-freeze".

day 11

* announce a remainder on mc-devel that the release will occur in
  three days.

day 14

* Review the English version of the manual and fix it if necessary.
  Update the date in the .TH macro of the English manual.
* Update the NEWS file to contain all user-visible changes.
* Fix wrong formatting in the ChangeLog files.
* Set the version number in configure.ac to "${dotted_version}".
  Commit it.
* Update the translation files NOT to contain line number information.
  Commit them.
* Run the test suites maint/mctest and maint/mc-test and make sure
  all warnings are ok.
* Tag the CVS tree as "MC_${underscore_version}_release".
* Create a CVS branch "MC_${underscore_version}".
* Run "make dist".
* Upload the resulting tarballs to the Savannah repository.
* Announce the new release on the mc-devel and mc mailing lists.
* Update the homepage.

after that

* Create binary packages from the uploaded tarballs as necessary.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]