NOTE: The Synchronet project has switched from the use of CVS to Git as of August 2020. The old CVS repository will remain available for a while in read-only form.
Synchronet source code and some third-party dependencies are stored in a version control database (repository) using a ubiquitous software system called CVS.
Anonymous access, for current source code or previous releases by label, is available to the following repositories:
Required modules for building Synchronet:
src-sbbs3(alias for several modules)
- One of the following module aliases (for required third-party libraries):
lib(for all other supported platforms)
Required modules for running Synchronet (if you don't already have Synchronet installed):
run-sbbs3(alias for several modules)
Example labels (for checking-out a specific release):
NOTE: If you really want to build an old release, you'll probably have better luck downloading a source archive (e.g.
ssrc314a.tgz) from ftp://vert.synchro.net/ and building that instead as some deprecated files may have been removed from the CVS repository since.
CVS command-line example (for non-Windows OSes):
cvs -d :pserver:firstname.lastname@example.org:/cvsroot/sbbs co src-sbbs3 lib
CVS command-line example (for Windows):
cvs -d :pserver:email@example.com:/cvsroot/sbbs co src-sbbs3 lib-win32
If you have not already done so, you will need to login to the CVS repository at least once (the
install/GNUmakefile for logs-in for you when installing on *nix using CVS):
cvs -d :pserver:firstname.lastname@example.org:/cvsroot/sbbs login
In October of 2011, the
/include modules in the Synchronet CVS repository were deprecated (and removed on October 26th) and a new top level module (
/3rdp) was introduced which includes pre-built third-party libraries and header files for Win32 builds and source archives (e.g. tarballs) and build files for *nix builds.
lib-win32 module aliases actually refer to sub-directories of the
To update your Synchronet source code and 3rd party library files from CVS, execute from the parent of your Synchronet
src directory (e.g.
/sbbs) on *nix:
cvs checkout -A src-sbbs3 lib
cvs checkout -A src-sbbs3 lib-win32
To update your Synchronet executable script and module files from CVS, after backing-up your exec directory, execute from your Synchronet directory (e.g.
cvs update -d -A exec
For full instructions on updating Synchronet run-time files from CVS, see run-time_files.
To get a list of locally-modified files (in the current working directory), run a dummy checkout with the command:
cvs -qn update
$ cvs -qn update U ftpsrvr.c M jsexec.c cvs update: warning: `smbutil.c' was lost U smbutil.c M xtrn.cpp
In this example, the file
ftpsrvr.c was modified, but contains no changes, the file
smbutil.c was removed, and the files
xtrn.cpp have local changes that will be merged (the
M status) with a normal
cvs update (without the
-qn option) will merge up-stream changes (changes made by others in the repository) into your local files, but its possible those changes may conflict with your local changes (if there are any) in which case the file status will be displayed as
C and those merge-conflicts must be resolved using an editor (or the local file deleted and checked-out again from the repository).
For a detailed status of all the CVS-tracked files in the current working directory, use the
cvs status command.
An alternative method to get a list of locally-modified files (in the current working directory) is to perform a comparison (diff):
cvs diff --brief