Creating a release with Subversion
A release is a .zip file containing the files needed to use a project. This usually means one or more Igor Pro procedure files (.ipf) but may also include compiled code in the form of external operations (XOPs), source code, and/or Igor Pro experiment files.
Releases can be created either manually by attaching a file to a release node or by creating a release node based on a Subversion branch or tag and letting the packaging scripts on the server automatically package the release into a file that can be downloaded.
This help topic covers the Subversion method of creating a release. If you need help with the manual method, please see Creating a manual release by attaching a file. If you have not yet added the files for your project to the IgorExchange repository, you can find detailed instructions for doing this using either TortoiseSVN (Windows) or the Subversion command line interface (Macintosh or Windows) at Using Subversion clients.
There are two types of releases:
- Official releases are ready to use and relatively well tested. These releases are based on Subversion tags.
- Development snapshots may be somewhat incomplete but contain the most recent features, bug fixes, and bugs. These releases are based on Subversion branches.
For more information on how to use branches and tags on IgorExchange, see Branches and Tags on IgorExchange.
Follow these steps to create a new release (you must be the owner or a maintainer of the project):
- You first need to create a release node for the release. You do this by clicking the "Add new release" link on the project summary page.
- Select the tag or branch you wish to use as the source of your release. Remember that official releases are built from tags and development snapshots are built from branches. If you wish to create a development snapshot from the code in the
/trunkdirectory of the project, select
HEADunder the Branches category. Click Submit to go to the next page.
- Make sure that the value for "Supported Igor Version" is correct. If it is not, you will need to recreate your tag or branch based on the convention described in Branches and Tags on IgorExchange.
- Choose one or more of the terms in the "Operating system compatibility" box. You can select multiple terms by Ctrl-clicking (on Windows) or Command-clicking (on Macintosh). Most procedure files work on both operating systems. On the other hand, XOPs must be specifically compiled for Windows or Macintosh.
- In the body field, describe the major changes present in this release compared to previous releases. Be as descriptive here as possible, so that your users know the advantages (or disadvantages) of your new release.
- When you finish filling out all of the fields, click the Submit button. If you filled in all fields appropriately, you will get a message telling you that your release node was created.
Because the server based packaging scripts run periodically, it may take as long as 1 hour for a file to be automatically attached to your release node.
Remember that in order for a release to be created, you must first create a release node using the instructions above. Creating a branch or tag using Subversion does not automatically create a release node--it simply allows you to create a release node based on that branch or tag.
Note: The packaging scripts will not compile your code for you. The scripts only extract files from the repository and package them together in a downloadable .zip file. If you have code that requires compilation, such as code for an external operation (XOP), you must compile the code yourself and then commit the resulting binary file(s) to your repository before you create your release node.