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:
- Via our Official Fossil Repository - this is the preferred way;
- Via our repository on GitHub - in synch with our self-hosted Fossil repository.
Then, you can get a snapshot of the source code tree:
- From our web site, mORMotNightlyBuild.zip (whole source code tree);
- From GitHub, as master.zip (only the mORMot part).
Note about sqlite3*.obj filesUpdated: 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.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 RepositoryOur 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 CodeYou 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:
- Pointer your web browser at https://synopse.info/fossil.
Click on the Login menu button.
- 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.
- 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.
- 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.
- 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.
- 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
Fossil for developersFor 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
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:
Above commands will initialize the main database file named
fossil clone https://synopse.info/fossil synopserepo md lib cd lib fossil open ..\synopserepo
synopserepothen will uncompress the main branch into a
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:
which will retrieve all changes from the official mORMot repository, and copy them to your local repository.
If you run
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