Creating a release means building installer, executable- and source-packages that can be distributed for users. RELEASING IS A TASK WITH BIG RESPONSIBILITY! Making errors mean (lots of) users have non-working WinMerge installations. And users are not happy about that!
Before starting releasing, you must make sure you have all tools available:
If you want to use the Python scripts for making creating release easier you'll need Python version 2.5 or later. The scripts also require Subversion command line binaries.
TortoiseSVN binaries don't work.There are many steps in creating full release. Doing a release without using the helper scripts may take hours! If you are doing a release for a first time, reserve few hours of time for this...
The list of steps is:
Src/Merge.rc
for executablesShellExtension/ShellExtension.rc
for Shell ExtensionDocs/Users/Manual/WinMerge_help.xml
for the manualDocs
-subfolderFilters
-subfolderMergePlugins
-subfolderSince creating the release is quite a tedious and error-prone task, there are couple of scripts helping this task:
Tools/Scripts/SetVersions.py
is a script for setting version
numbersTools/Scripts/create_release.py
does many of the tasks of
building the release.When using the create_release.py
-script the tasks for releasing
are:
create_release.py
-script
/Build
-folderThe SetVersions.py
-script is documented in
SetVersions.txt
-file in the same folder. It reads version numbers and
files to modify from INI file and sets the version numbers.
Running the script is easy, just give the INI file to use as a parameter.
The create_release.py
-script does much of the releasing work.
It does:
SetVersions.py
-script)The create_release.py
-script is meant to run from command line.
Before running the script you may need to modify the configuration variables in
the beginning of the script file. Variables to modify are:
Checksums must be calculated and published for all released files. Using checksums downloaders can verify the files are downloaded without erros and more importantly the files are the same files that were published. This very efficiently removes the possibility somebody has modified the files.
It is recommended that SHA-1 checksums are used.
There are several tools that can calculate SHA-1 checksums. One such tool is Checksum Tool.