Skip to content

SVNReleases

Before, migrating our version control system to Git, we were using Subversion. This page documents how we would prepare releases with Subversion.

Backports to trunk

Since 03/2014, all development is performed on branches/dev and trunk only receives bug fixes to the last stable release. It is therefore necessary to consider what should be brought from dev into trunk before preparing a release: either everything (when preparing a major release) or cherry picking some bug fixes (during the lifetime of the current stable release).

Synchronizing from trunk

Simply run svn merge https://models.slf.ch/svn/snowpack/branches/dev in order to synchronize the trunk with the latest revision of dev.

Cherry picking

First open the logs of dev and write down all the revisions that should be merged into the trunk. Then, go to a clean trunk checkout and do, for each revision and in increasing order:

svn merge -c {revision_number} https://models.slf.ch/svn/snowpack/branches/dev

Make sure to resolve all potential conflicts before picking the next commit. Once this has been done, commit these changes to trunk.

Tagging the release

In order to create a "tag" for the release, run something such as:

svn copy https://models.slf.ch/svn/snowpack/trunk https://models.slf.ch/svn/snowpack/tags/Snowpack-3.3.0 -m "Tagging release 3.3.0"

Distribution on Indefero

  • Go to the Snowpack forge Download page, open it in two browser's tabs
  • Open the last download of the previous release in one tab
  • Click on "New download" in the second tab
  • Copy/paste and modify the previous description to the new download, including file names and tags
  • Point the new download to the matching archive on your disk and create the download
  • Add "Deprecated" as the last tag of the matching download of the previous release (in the first tab)
  • Proceed along these lines for all downloads