mORMot and Open Source friends
Get the source
Not logged in

How to use the repository in a few steps

As true Open Source projects, you have direct access to the latest version of our source code, directly via source code repositories.

You have two means of getting the source:

Then, you can get a snapshot of the source code tree:

Note about sqlite3*.obj files

Updated: raw binary files needed for FPC static linking are available in our mORMot repository on GitHub inside static folder.

In order to maintain the source code repository in a decent size, we excluded the sqlite3*.obj storage in it, but provide the full source code in the corresponding sqlite3.c file.

Therefore, sqlite3.obj are available as a separated download, from https://synopse.info/files/sqlite3obj.7z.
Please download the latest compiled version of these .obj files from the link above.

You can also use the supplied SQlite3\c.bat file to compile from the original sqlite3.c file available in the repository, if you have the bcc32 compiler installed (even the free version works - I downloaded this one).

Official Fossil Repository

Our self-hosted Fossil version control system offers a lot of functionalities, and is the main entry point to all our Open Source projects.

In fact, it hosts our source code tree, but also maintains the official set of tickets for issues tracking, and publishes those wiki pages.

Obtaining the Source Code

You can obtain a .zip archive containing a snapshot of the latest version of the whole source code tree directly from this repository.

First of all, you can get a daily snapshot of the repository directly from mORMotNightlyBuild.zip.
It will be updated every morning (France time) from the latest unstable sources.
Note that you will also need the SQLite3 .obj files from sqlite3obj.7z, since they are not part of this package.

To retrieve a particular version directly from the repository, follow these steps:

  1. Pointer your web browser at https://synopse.info/fossil.
    Click on the Login menu button.
  2. Log in as anonymous. The password is shown on screen.
    Just click on the "Fill out captcha" button then on the "Login" button. The reason for requiring this login is to prevent spiders from walking the entire website, downloading ZIP archives of every historical version, and thereby soaking up all our bandwidth.
  3. Click on the Timeline or Leaves link at the top of the page.
    Preferred way is Leaves which will give you the latest available version.
  4. Select a version of the source code you want to download: a version is identified by an hexadecimal link (e.g. 6b684fb2).
    Note that you must successfully log in as "anonymous" in step 1 above in order to see the link to the detailed version information.
  5. Finally, click on the "Zip Archive" link. This link will build a ZIP archive of the complete source code and download it to your browser.
  6. With versions of Delphi prior to Delphi 2006, you may need FastMM4 - get the official source code, or from your just downloaded ZIP, in the RTL7 sub-folder.

Fossil for developers

For making your own local copy of the Repository, then commit or receive changes from our main server, follow these steps.

To clone the official Repository, it is not mandatory to ask for a user name and a password from Synopse. But you can ask for your own login, following the instructions on our forum.

First install Fossil.
It is a single self-contained program, available for most platforms and Operating Systems.
You need to either download a precompiled binary or build it yourself from sources.
Install fossil by putting the fossil binary someplace on your PATH environment variable (e.g. C:\Windows). That's all. :)

Then launch the following command from the directory where the repository database file should be stored, specifying a file name for the local Fossil database file as synopserepo:
fossil clone https://synopse.info/fossil synopserepo

Just check the speed with which Fossil retrieve and create your own repository data.
If you compare with SVN/CVS or other Client-Server source code manager, you may be amazed by the fact that all commits are retrieved with the command above, with very little bandwidth.
What you get here is the whole history of the repository, whereas with SVN you only get the version you ask for, slower and using much more disk space.

Now that you have your own private repository - Fossil is a distributed source code manager, remember - you can work with any revision.

Then create a new empty directory, where all the source code files will be available:

md lib
cd lib
fossil open fullpathtorepository\synopserepo

You could create all steps in one, with the following commands, to be run where the repository and files would be stored:

fossil clone https://synopse.info/fossil synopserepo
md lib
cd lib
fossil open ..\synopserepo
Above commands will initialize the main database file named synopserepo then will uncompress the main branch into a lib sub-folder.

This will use your local repository database to retrieve all the source code files of the Synopse components in the current directory, in its latest version.

Then follow the Fossil Quick Start guide to get started with the Synopse Repository quickly and painlessly.

The first command you have to know is the following - to be executed from the folder where you extracted all the source code files:
fossil update
which will retrieve all changes from the official mORMot repository, and copy them to your local repository.

If you run
fossil ui
you will launch the web interface of your local repository - and you will see it will be synchronized, including tickets and wiki pages, with the main Synopse's repository. Fossil is an amazing tool, indeed!

Note that with latest versions of fossil, you may have to set some Windows-related settings:

fossil settings crnl-glob '*'
fossil settings encoding-glob '*'
fossil settings editor notepad.exe