Wiki copymirror

This is a mirror of the wiki at pascal.chat. Editing, history and sign-in are there.

Lazarus release engineering

Note: This page is still work in progress. For feedback please use our mailing list.

Checklist

Major Release

For each Release Candidate

Typical life time of an RC can be expected to be between 3 and 6 weeks. But in the end will be decided at the discretion of the team.

For the Release

Minor Release

Ask for

Community has about 1 week to respond. Urgent matters can still be reported during "approve" phase.

Depending on feedback received: reschedule and if needed re-announce.

Approve Release (Start at day: 7 to 9 / Duration 3/4 days)

Depending on feedback received: reschedule and if needed re-announce.

Prepare Release (Start at day: 10 to 12 / Duration 3/4 days)

At the same time:

Release (At day 14 to 16)

Merging fixes

Team members will add any revision that should be merged to the "fixes branch" page (see "Related Pages").

User can contact Team members

to request revisions to be added.

Other Items

In addition to the items on the checklist:

TODO: Decide on channels for public feedback on:

Checklist (Suggestions)

Please add suggestions here. The editing of the Checklist above should be reserved to the team. Thanks.

How to merge

The lazarus developers have decided to use the native svn merge for this branch. Other branches used the svnmerge.py script to manage the revisions to be merged.

SVN_Migration#Merge_with_plain_svn

Using TortoiseSVN

As noted in the link above using TortoiseSVN is more or less self explaining.

When committing, in the recent messages a nice commit message is available.

Tested with TortoiseSVN 1.7.6, SVN 1.7.4.

Show list of revision that can be merged

In the lazarus fixes_1_0 directory do:

text
svn mergeinfo ^/trunk --show-revs eligible

Or if you don't have a fixes directory checked out, you can pass the URL path of the fixes branch:

text
svn mergeinfo ^/trunk http://svn.freepascal.org/svn/lazarus/branches/fixes_1_0 --show-revs eligible

Show list of revision that have been merged

In the lazarus fixes_1_0 directory do:

text
svn mergeinfo ^/trunk --show-revs merged

Merging revisions from trunk

To merge one or more revisions from trunk, use the svn merge command. For example to merge revision 36506 and 36510 use:

text
 svn merge -c 36506,36510 ^/trunk

To generate a commit log message, use:

text
svn log ^/trunk -c 36506,36510 > svnmerge-commit-message.txt

Edit svnmerge-commit-message.txt with your favorite text editor and add a first line like:

text
Merged revision 36506,36510 from /trunk.

Commit this with:

text
svn commit -F svnmerge-commit-message.txt

Blocking a revision to be merged

Sometimes you want to block a revision to be merged, i.e. you want to make sure that this revision is never merged to the fixes branch, for example, because it contains a new feature or it contains a version number change not applicable to the fixes branch, but only to trunk. To block revision 36507, use:

text
svn merge -c 36507 --record-only ^/trunk

Then you can create a log message with:

text
svn log ^/trunk -c 36507 > svnmerge-commit-message.txt

Edit svnmerge-commit-message.txt with your favorite text editor and add first line like:

text
Blocked revision 36507 from /trunk

Then commit this change:

text
svn commit -F svnmerge-commit-message.txt

Previous releases

See also

Related pages


From the Free Pascal wiki, page "Lazarus release engineering", as it stood on 2022-08-16 after a change by Skalogryz, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 3, last changed by WikiArchive .