SCM Manager
About this project
The easiest way to share and manage your Git, Mercurial and Subversion repositories.
- Very easy installation
- No need to hack configuration files, SCM-Manager is completely configurable from its Web-Interface
- No Apache and no database installation required
- Central user, group and permission management
- Out of the box support for Git, Mercurial and Subversion
- Full RESTFul Web Service API (JSON and XML)
- Rich User Interface
- Simple Plugin API
- Useful plugins available
- Licensed under AGPL-3.0-only
This branch (develop
) is for the development of SCM-Manager. If you are interested in the development of version
1.x, please checkout the branch support/1.x
.
News
All news regarding SCM-Manager will be published in our blog.
Support / Community
Contact the SCM-Manager community support
Documentation
You can find the complete documentation on our homepage.
Development
The build of SCM-Manager requires the following installed packages:
- Git
- JDK 11
- Mercurial (required for tests)
- Docker (required for the docker package)
The build of SCM-Manager requires Java 11.
Tasks
SCM-Manager uses Gradle for the build. The build itself is organized in tasks, the tasks can be executed with the gradle wrapper:
# on *nix
./gradlew taskname
# on windows
gradlew.bat taskname
This following tables describes some high level tasks, which should cover most of the daily work.
Name | Description |
---|---|
run | Starts an SCM-Manager with enabled livereload for the ui |
build | Executes all checks, tests and builds the smp inclusive javadoc and source jar |
distribution | Builds all distribution packages of scm-packaging |
check | Executes all registered checks and tests |
test | Run all unit tests |
integrationTest | Run all integration tests of scm-it |
clean | Deletes the build directory |
The next table defines a few more tasks which are more relevant for CI servers.
| Name | Descripti