The sf-import.tcl script is the means by which the SourceForge Tracker tickets are brought over into Fossil.

It is run with a command like

tclsh8.5 sf-import.tcl sfexport.xml attachmentDir stagingDir repository

In this command:

sfexport.xml is the XML export file of a SourceForge tracker. Project administrators may obtain this file by going to the project's 'Admin' page on SourceForge, selecting 'Feature Settins;' within that page, selecting the 'Enabled Features' tag, and following the 'XML Export' link in the 'Backups' line of the table.

attachmentDir is a directory where attachment files to tickets will be saved. This directory should ordinarily be preserved from one run of the script to the next: it functions as a cache to avoid repeated download of attachments on successive runs.

stagingDir is a directory that will be created to stage artifacts into Fossil. The repository will be opened into this directory. The reason this directory is required is that the fossil test-content-put command offers no way to specify a repository other than a current checkout.

repository is the path name of the repository where the tickets are to be stored.

The SourceForge tracker XML exports do not include files that are attached to tickets. The script therefore requires an active Internet connection. When it encounters an attachment while processing a tracker item, it will retrieve the file from SourceForge and place it in the 'attachments' directory. The file will then be added to Fossil as an artifact and associated as an attachment to the ticket in process.

This script will need to be modified not to armour Wikitext nor add markup once 'decorated text' is a feature for ticket rendering in the Fossil tracker.