SCM Backup is written in .NET Core, the cross-platform version of .NET.
The available releases are framework-dependent deployments, which means that the same download should work on any Windows, Linux and MacOS machine, as long as .NET Core is installed on it.
If it’s not on your machine, you can get it from the official download page:
Install any version 3.1.x of the .NET Core runtime (not the SDK)
SCM Backup is a console app, so the .NET Runtime is sufficient
(the ASP.NET Core Runtime or .NET Desktop Runtime will also work, but contain more than SCM Backup needs)
So far, SCM Backup has been written on Windows only. Technically, it should run on Linux and MacOS as well.
CI (including tests) is also running on Linux, and we know that there are users on Linux and MacOS.
Source control software¶
By default, SCM Backup expects all source control software to be in your path, so it just needs to execute
hg etc. without a complete path, although it’s possible to specify the path to the executable in the config.
Note that at runtime, SCM Backup checks the presence of all required SCMs on your system. It will stop if you have repositories needing a SCM which is not present on your system.
At the moment, there are only .zip downloads.
Download the .zip file from the latest release and unzip it into a folder of your choice.
How to run¶
You should edit the configuration file before running SCM Backup for the first time!
Read the guide for more information.
Run the actual application by executing
Windows Task Scheduler¶
To run SCM Backup via Windows Task Scheduler, you need to specify the path to the exe and the directory (in “Start in”) in the “Edit Action” screen:
Omitting the directory can cause problems.
It’s possible to run SCM Backup via Docker, but I (SCM Backup maintainer) don’t have much Docker experience.
Here are some example Dockerfiles from people who managed to get it to run. I’m not able to provide support for this - use at your own risk!