merge with develop

This commit is contained in:
Sebastian Sdorra
2020-03-24 10:17:57 +01:00
2480 changed files with 64725 additions and 30921 deletions

View File

@@ -15,3 +15,7 @@ charset = utf-8
[*.py] [*.py]
indent_style = space indent_style = space
indent_size = 4 indent_size = 4
[{Makefile,**.mk}]
# Use tabs for indentation (Makefiles require tabs)
indent_style = tab

41
.github/stale.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

10
.gitignore vendored
View File

@@ -19,3 +19,13 @@ Desktop DF
.project .project
.classpath .classpath
.settings .settings
# idea files
*.iml
.idea
# ui
scm-ui/build
scm-ui/coverage
node_modules
# jrebel
rebel.xml
*.pyc

View File

@@ -1,36 +0,0 @@
# netbeans temp & private files
/?target/
nbactions.*\.xml
/?nbproject/
nb-configuration\.xml
# MacOS X Files
\.DS_Store$
\._\.DS_Store$
\._\.
Desktop DB$
Desktop DF$
\.hotfiles\.btree$
\.orig$
~$
\.\~.*$
\.bak$
.*\.NavData$
\.orig\..*$
\.chg\..*$
\.rej$
\.conflict\~$
# Eclipse Files
\.project
\.classpath
\.settings
# idea files
\.iml
\.idea$
# jrebel
rebel.xml
\.pyc
# ui
scm-ui/build
scm-ui/coverage
/?node_modules/

View File

@@ -1,2 +1,26 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Keep this version number in sync with Jenkinsfile # Keep this version number in sync with Jenkinsfile
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip

View File

@@ -6,6 +6,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased ## Unreleased
### Added ### Added
- Extension point to add links to the repository cards from plug ins ([#1041](https://github.com/scm-manager/scm-manager/pull/1041))
### Changed
- Update resteasy to version 4.5.2.Final
- Use browser built-in EventSource for apiClient subscriptions
- Changeover to MIT license ([#1066](https://github.com/scm-manager/scm-manager/pull/1066))
### Removed
- EventSource Polyfill
### Fixed
- Build on windows ([#1048](https://github.com/scm-manager/scm-manager/issues/1048), [#1049](https://github.com/scm-manager/scm-manager/issues/1049), [#1056](https://github.com/scm-manager/scm-manager/pull/1056))
- Show specific notification for plugin actions on plugin administration ([#1057](https://github.com/scm-manager/scm-manager/pull/1057))
## 2.0.0-rc5 - 2020-03-12
### Added
- Added footer extension points for links and avatar
- Create OpenAPI specification during build
- Extension point entries with supplied extensionName are sorted ascending
- Possibility to configure git core config entries for jgit like core.trustfolderstat and core.supportsatomicfilecreation
- Babel-plugin-styled-components for persistent generated classnames
- By default, only 100 files will be listed in source view in one request
### Changed
- New footer design
- Update jgit to version 5.6.1.202002131546-r-scm1
- Update svnkit to version 1.10.1-scm1
- Secondary navigation collapsable
### Fixed
- Modification for mercurial repositories with enabled XSRF protection
- Does not throw NullPointerException when merge fails without normal merge conflicts
- Keep file attributes on modification
- Drop Down Component works again with translations
### Removed
- Enunciate rest documentation
- Obsolete fields in data transfer objects
## 2.0.0-rc4 - 2020-02-14
### Added
- Support for Java versions > 8 - Support for Java versions > 8
- Simple ClassLoaderLifeCycle to fix integration tests on Java > 8 - Simple ClassLoaderLifeCycle to fix integration tests on Java > 8
- Option to use a function for default collapse state in diffs - Option to use a function for default collapse state in diffs
@@ -14,12 +55,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Use icon only buttons for diff file controls - Use icon only buttons for diff file controls
- Upgrade [Legman](https://github.com/sdorra/legman) to v1.6.2 in order to fix execution on Java versions > 8 - Upgrade [Legman](https://github.com/sdorra/legman) to v1.6.2 in order to fix execution on Java versions > 8
- Upgrade [Lombok](https://projectlombok.org/) to version 1.18.10 in order to fix build on Java versions > 8 - Upgrade [Lombok](https://projectlombok.org/) to version 1.18.10 in order to fix build on Java versions > 8
- Upgrade [Mockito](https://site.mockito.org/) to version 2.28.2 in order to fix tests on Java versions > 8 - Upgrade [Mockito](https://site.mockito.org/) to version 2.28.2 in order to fix tests on Java versions > 8
- Upgrade smp-maven-plugin to version 1.0.0-rc3 - Upgrade smp-maven-plugin to version 1.0.0-rc3
### Fixed
- Committer of new Git commits set to "SCM-Manager <noreply@scm-manager.org>"
## 2.0.0-rc3 - 2020-01-31 ## 2.0.0-rc3 - 2020-01-31
### Fixed ### Fixed
- Broken plugin order fixed - Broken plugin order fixed
- MarkdownViewer in code section renders markdown properly
## 2.0.0-rc2 - 2020-01-29 ## 2.0.0-rc2 - 2020-01-29
### Added ### Added

View File

@@ -1,4 +1,28 @@
FROM openjdk:8u171-alpine3.8 #
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
FROM openjdk:8u212-alpine3.9
ENV SCM_HOME=/var/lib/scm ENV SCM_HOME=/var/lib/scm

227
Jenkinsfile vendored
View File

@@ -1,24 +1,23 @@
#!groovy #!groovy
// Keep the version in sync with the one used in pom.xml in order to get correct syntax completion. // switch back to a stable tag, after pr 22 is mreged an the next version is released
@Library('github.com/cloudogu/ces-build-lib@59d3e94') // see https://github.com/cloudogu/ces-build-lib/pull/22
@Library('github.com/cloudogu/ces-build-lib@8e9194e8')
import com.cloudogu.ces.cesbuildlib.* import com.cloudogu.ces.cesbuildlib.*
node('docker') { node('docker') {
// Change this as when we go back to default - necessary for proper SonarQube analysis mainBranch = 'develop'
mainBranch = 'default'
properties([ properties([
// Keep only the last 10 build to preserve space // Keep only the last 10 build to preserve space
buildDiscarder(logRotator(numToKeepStr: '10')), buildDiscarder(logRotator(numToKeepStr: '10')),
disableConcurrentBuilds(), disableConcurrentBuilds()
parameters([
string(name: 'dockerTag', trim: true, defaultValue: 'latest', description: 'Extra Docker Tag for cloudogu/scm-manager image')
])
]) ])
timeout(activity: true, time: 40, unit: 'MINUTES') { timeout(activity: true, time: 60, unit: 'MINUTES') {
Git git = new Git(this)
catchError { catchError {
@@ -28,17 +27,57 @@ node('docker') {
checkout scm checkout scm
} }
if (isReleaseBranch()) {
stage('Set Version') {
String releaseVersion = getReleaseVersion();
// set maven versions
mvn "versions:set -DgenerateBackupPoms=false -DnewVersion=${releaseVersion}"
// set versions for ui packages
// we need to run 'yarn install' in order to set version with ui-scripts
mvn "-pl :scm-ui buildfrontend:install@install"
mvn "-pl :scm-ui buildfrontend:run@set-version"
// stage pom changes
sh "git status --porcelain | sed s/^...// | grep pom.xml | xargs git add"
// stage package.json changes
sh "git status --porcelain | sed s/^...// | grep package.json | xargs git add"
// stage lerna.json changes
sh "git add lerna.json"
// commit changes
sh "git -c user.name='CES Marvin' -c user.email='cesmarvin@cloudogu.com' commit -m 'release version ${releaseVersion}'"
// we need to fetch all branches, so we can checkout master and develop later
sh "git config 'remote.origin.fetch +refs/heads/*:refs/remotes/origin/*'"
sh "git fetch --all"
// merge release branch into master
sh "git checkout master"
sh "git merge --ff-only ${env.BRANCH_NAME}"
// set tag
sh "git -c user.name='CES Marvin' -c user.email='cesmarvin@cloudogu.com' tag -m 'release version ${releaseVersion}' ${releaseVersion}"
}
}
stage('Build') { stage('Build') {
mvn 'clean install -Pdoc -DskipTests' mvn 'clean install -DskipTests'
} }
stage('Unit Test') { parallel(
mvn 'test -Pcoverage -Dsonia.scm.test.skip.hg=true -Dmaven.test.failure.ignore=true' unitTest: {
} stage('Unit Test') {
mvn 'test -DskipFrontendBuild -DskipTypecheck -Pcoverage -pl !scm-it -Dmaven.test.failure.ignore=true'
stage('Integration Test') { junit allowEmptyResults: true, testResults: '**/target/surefire-reports/TEST-*.xml,**/target/jest-reports/TEST-*.xml'
mvn 'verify -Pit -pl :scm-webapp,:scm-it -Dmaven.test.failure.ignore=true' }
} },
integrationTest: {
stage('Integration Test') {
mvn 'verify -Pit -DskipUnitTests -pl :scm-webapp,:scm-it -Dmaven.test.failure.ignore=true'
junit allowEmptyResults: true, testResults: '**/target/failsafe-reports/TEST-*.xml'
}
}
)
stage('SonarQube') { stage('SonarQube') {
@@ -49,10 +88,7 @@ node('docker') {
} }
} }
def commitHash = getCommitHash() if (isMainBranch() || isReleaseBranch()) {
def dockerImageTag = "2.0.0-dev-${commitHash.substring(0,7)}-${BUILD_NUMBER}"
if (isMainBranch()) {
stage('Lifecycle') { stage('Lifecycle') {
try { try {
@@ -64,53 +100,120 @@ node('docker') {
} }
} }
stage('Archive') { if (isBuildSuccessful()) {
archiveArtifacts 'scm-webapp/target/scm-webapp.war'
archiveArtifacts 'scm-server/target/scm-server-app.*'
archiveArtifacts 'scm-webapp/target/scm-webapp-restdocs.zip'
}
stage('Docker') { def commitHash = git.getCommitHash()
def image = docker.build('cloudogu/scm-manager')
docker.withRegistry('', 'hub.docker.com-cesmarvin') {
image.push(dockerImageTag)
image.push('latest')
if (!'latest'.equals(params.dockerTag)) {
image.push(params.dockerTag)
def newDockerTag = "2.0.0-${commitHash.substring(0,7)}-dev-${params.dockerTag}" def imageVersion = mvn.getVersion()
currentBuild.description = newDockerTag if (imageVersion.endsWith('-SNAPSHOT')) {
image.push(newDockerTag) imageVersion = imageVersion.replace('-SNAPSHOT', "-${commitHash.substring(0,7)}-${BUILD_NUMBER}")
}
stage('Archive') {
archiveArtifacts 'scm-webapp/target/scm-webapp.war'
archiveArtifacts 'scm-server/target/scm-server-app.*'
}
stage('Maven Deployment') {
// TODO why is the server recreated
// delete appassembler target, because the maven plugin fails to recreate the tar
sh "rm -rf scm-server/target/appassembler"
// deploy java artifacts
mvn.useRepositoryCredentials([id: 'maven.scm-manager.org', url: 'https://maven.scm-manager.org/nexus', credentialsId: 'maven.scm-manager.org', type: 'Nexus2'])
mvn.deployToNexusRepository()
// deploy frontend bits
withCredentials([string(credentialsId: 'cesmarvin_npm_token', variable: 'NPM_TOKEN')]) {
writeFile encoding: 'UTF-8', file: '.npmrc', text: "//registry.npmjs.org/:_authToken='${NPM_TOKEN}'"
writeFile encoding: 'UTF-8', file: '.yarnrc', text: '''
registry "https://registry.npmjs.org/"
always-auth true
email cesmarvin@cloudogu.com
'''.trim()
// we are tricking lerna by pretending that we are not a git repository
sh "mv .git .git.disabled"
try {
mvn "-pl :scm-ui buildfrontend:run@deploy"
} finally {
sh "mv .git.disabled .git"
}
}
}
stage('Docker') {
docker.withRegistry('', 'hub.docker.com-cesmarvin') {
// push to cloudogu repository for internal usage
def image = docker.build('cloudogu/scm-manager')
image.push(imageVersion)
if (isReleaseBranch()) {
// push to official repository
image = docker.build('scmmanager/scm-manager')
image.push(imageVersion)
}
}
}
stage('Presentation Environment') {
build job: 'scm-manager/next-scm.cloudogu.com', propagate: false, wait: false, parameters: [
string(name: 'changeset', value: commitHash),
string(name: 'imageTag', value: imageVersion)
]
}
if (isReleaseBranch()) {
stage('Update Repository') {
// merge changes into develop
sh "git checkout develop"
// TODO what if we have a conflict
// e.g.: someone has edited the changelog during the release
sh "git merge master"
// set versions for maven packages
mvn "build-helper:parse-version versions:set -DgenerateBackupPoms=false -DnewVersion='\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0-SNAPSHOT'"
// set versions for ui packages
mvn "-pl :scm-ui buildfrontend:run@set-version"
// stage pom changes
sh "git status --porcelain | sed s/^...// | grep pom.xml | xargs git add"
// stage package.json changes
sh "git status --porcelain | sed s/^...// | grep package.json | xargs git add"
// stage lerna.json changes
sh "git add lerna.json"
// commit changes
sh "git -c user.name='CES Marvin' -c user.email='cesmarvin@cloudogu.com' commit -m 'prepare for next development iteration'"
// push changes back to remote repository
withCredentials([usernamePassword(credentialsId: 'cesmarvin-github', usernameVariable: 'GIT_AUTH_USR', passwordVariable: 'GIT_AUTH_PSW')]) {
sh "git -c credential.helper=\"!f() { echo username='\$GIT_AUTH_USR'; echo password='\$GIT_AUTH_PSW'; }; f\" push origin master --tags"
sh "git -c credential.helper=\"!f() { echo username='\$GIT_AUTH_USR'; echo password='\$GIT_AUTH_PSW'; }; f\" push origin develop --tags"
sh "git -c credential.helper=\"!f() { echo username='\$GIT_AUTH_USR'; echo password='\$GIT_AUTH_PSW'; }; f\" push origin :${env.BRANCH_NAME}"
}
} }
} }
}
stage('Deployment') {
build job: 'scm-manager/next-scm.cloudogu.com', propagate: false, wait: false, parameters: [
string(name: 'changeset', value: commitHash),
string(name: 'imageTag', value: dockerImageTag)
]
} }
} }
} }
// Archive Unit and integration test results, if any mailIfStatusChanged(git.commitAuthorEmail)
junit allowEmptyResults: true, testResults: '**/target/failsafe-reports/TEST-*.xml,**/target/surefire-reports/TEST-*.xml,**/target/jest-reports/TEST-*.xml'
// Find maven warnings and visualize in job
warnings consoleParsers: [[parserName: 'Maven']], canRunOnFailed: true
mailIfStatusChanged(commitAuthorEmail)
} }
} }
String mainBranch String mainBranch
Maven setupMavenBuild() { Maven setupMavenBuild() {
// Keep this version number in sync with .mvn/maven-wrapper.properties Maven mvn = new MavenWrapperInDocker(this, "scmmanager/java-build:11.0.6_10")
Maven mvn = new MavenInDocker(this, '3.6.3-jdk-11') // disable logging durring the build
def logConf = "scm-webapp/src/main/resources/logback.ci.xml"
mvn.additionalArgs += " -Dlogback.configurationFile=${logConf}"
mvn.additionalArgs += " -Dscm-it.logbackConfiguration=${logConf}"
if (isMainBranch()) { if (isMainBranch() || isReleaseBranch()) {
// Release starts javadoc, which takes very long, so do only for certain branches // Release starts javadoc, which takes very long, so do only for certain branches
mvn.additionalArgs += ' -DperformRelease' mvn.additionalArgs += ' -DperformRelease'
// JDK8 is more strict, we should fix this before the next release. Right now, this is just not the focus, yet. // JDK8 is more strict, we should fix this before the next release. Right now, this is just not the focus, yet.
@@ -147,6 +250,14 @@ void analyzeWith(Maven mvn) {
} }
} }
boolean isReleaseBranch() {
return env.BRANCH_NAME.startsWith("release/");
}
String getReleaseVersion() {
return env.BRANCH_NAME.substring("release/".length());
}
boolean isMainBranch() { boolean isMainBranch() {
return mainBranch.equals(env.BRANCH_NAME) return mainBranch.equals(env.BRANCH_NAME)
} }
@@ -163,15 +274,3 @@ boolean waitForQualityGateWebhookToBeCalled() {
return isQualityGateSucceeded return isQualityGateSucceeded
} }
String getCommitAuthorComplete() {
new Sh(this).returnStdOut 'hg log --branch . --limit 1 --template "{author}"'
}
String getCommitHash() {
new Sh(this).returnStdOut 'hg log --branch . --limit 1 --template "{node}"'
}
String getCommitAuthorEmail() {
def matcher = getCommitAuthorComplete() =~ "<(.*?)>"
matcher ? matcher[0][1] : ""
}

View File

@@ -1,28 +1,21 @@
Copyright (c) 2010, Sebastian Sdorra MIT License
All rights reserved.
Redistribution and use in source and binary forms, with or without Copyright (c) 2020-present Cloudogu GmbH and Contributors
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, Permission is hereby granted, free of charge, to any person obtaining a copy
this list of conditions and the following disclaimer. of this software and associated documentation files (the "Software"), to deal
2. Redistributions in binary form must reproduce the above copyright notice, in the Software without restriction, including without limitation the rights
this list of conditions and the following disclaimer in the documentation to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
and/or other materials provided with the distribution. copies of the Software, and to permit persons to whom the Software is
3. Neither the name of SCM-Manager; nor the names of its furnished to do so, subject to the following conditions:
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" The above copyright notice and this permission notice shall be included in all
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE copies or substantial portions of the Software.
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SOFTWARE.
https://bitbucket.org/sdorra/scm-manager

View File

@@ -1,3 +1,52 @@
# SCM-Manager <p align="center">
<a href="https://www.scm-manager.org/">
<img alt="SCM-Manager" src="https://download.scm-manager.org/images/logo/scm-manager_logo.png" width="500" />
</a>
</p>
This branch (default) is for the development of scm-manager 2.x. If you are interested in the development of version 1.x, please checkout the 1.x branch. The easiest way to share and manage your Git, Mercurial and Subversion
repositories over http.
- Very easy installation
- No need to hack configuration files, SCM-Manager is completely
configureable from its Web-Interface
- No Apache and no database installation is 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 the MIT-License
This branch (default) is for the development of SCM-Manager 2.x. If you are interested in the development of version 1.x, please checkout the 1.x branch.
## News
- \*\*2018-09-25\*\* - [SCM-Manager 2 gets a boost by Cloudogu
GmbH](https://www.scm-manager.org/scm-manager-2/scm-manager-2-gets-a-boost-by-cloudogu-gmbh/ "wikilink")
- \*\*2018-05-04\*\* - SCM-Manager 1.60 released
([download](http://www.scm-manager.org/download/ "wikilink") \|
[release notes](release-notes.md "wikilink"))
- \*\*2018-04-11\*\* - SCM-Manager 1.59 released
[All news](http://www.scm-manager.org/news/ "wikilink")
## Mailing List
- <scmmanager@googlegroups.com> -
[archive](http://groups.google.com/group/scmmanager "wikilink") \|
[subscribe](mailto:scmmanager+subscribe@googlegroups.com "wikilink")
\|
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com "wikilink")
## Documentation
You can find the complete documentation in the [docs/](docs/Home.md) directory.
## Need help?
Looking for more guidance? Full documentation lives [in the SCM-Manager repository](https://github.com/scm-manager/scm-manager/blob/develop/docs/Home.md). Do you have further ideas or need support?
- **Community Support** - Contact the SCM-Manager support team for questions about SCM-Manager, to report bugs or to request features through the official channels. [Find more about this here](https://www.scm-manager.org/support/).
- **Enterprise Support** - Do you require support with the integration of SCM-Manager into your processes, with the customization of the tool or simply a service level agreement (SLA)? **Contact our development partner Cloudogu! Their team is looking forward to discussing your individual requirements with you and will be more than happy to give you a quote.** [Request Enterprise Support](https://cloudogu.com/en/scm-manager-enterprise/).

36
build/Dockerfile Normal file
View File

@@ -0,0 +1,36 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
FROM adoptopenjdk/openjdk11:x86_64-debian-jdk-11.0.6_10
# install required packages
RUN apt-get update \
&& apt-get install -y \
# mercurial is requried for integration tests of the scm-hg-plugin
mercurial \
# git is required by yarn install of scm-ui
git \
# clear apt caching
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

9
build/Makefile Normal file
View File

@@ -0,0 +1,9 @@
VERSION:=11.0.6_10
.PHONY:build
build:
docker build -t scmmanager/java-build:${VERSION} .
.PHONY:publish
publish: build
docker push scmmanager/java-build:${VERSION}

3
build/README.md Normal file
View File

@@ -0,0 +1,3 @@
# Build tools
This folder contains tools required to build scm-manager

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
apiVersion: v1 apiVersion: v1
appVersion: "1.0" appVersion: "1.0"
description: A Helm chart for SCM-Manager description: A Helm chart for SCM-Manager

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
apiVersion: apps/v1beta2 apiVersion: apps/v1beta2
kind: Deployment kind: Deployment
metadata: metadata:

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
{{- if .Values.ingress.enabled -}} {{- if .Values.ingress.enabled -}}
{{- $fullName := include "scm-manager.fullname" . -}} {{- $fullName := include "scm-manager.fullname" . -}}
{{- $ingressPath := .Values.ingress.path -}} {{- $ingressPath := .Values.ingress.path -}}

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
{{- if .Values.persistence.enabled -}} {{- if .Values.persistence.enabled -}}
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
apiVersion: v1 apiVersion: v1

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
{{- if .Values.plugins }} {{- if .Values.plugins }}
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:

View File

@@ -1,3 +1,27 @@
#
# MIT License
#
# Copyright (c) 2020-present Cloudogu GmbH and Contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Default values for scm-manager. # Default values for scm-manager.
# This is a YAML-formatted file. # This is a YAML-formatted file.
# Declare variables to be passed into your templates. # Declare variables to be passed into your templates.

View File

@@ -0,0 +1,9 @@
* Acceptance criteria are checked manually (from the user's perspective)
* Code coverage is checked manually (>= 80% on new code) ([sonarcloud](https://sonarcloud.io/dashboard?id=sonia.scm%3Ascm))
* The clean code principles are respected ([CleanCode](https://clean-code-developer.com/virtues/))
* All new code/logic is implemented on the right spot / "Should i do this here?"
* Code of the story/feature/branch is merged to the mainline branch
* Build on mainline branch is green ([Jenkins](https://scm-manager.ci.cloudbees.com/job/scm-manager-2.x/))
* Integration test, wherever sensible, are implemented
* Code is reviewed according to the 4-eyes-principle (1 implementer, 1 reviewer, based on an average number of eyes per person of around 2)
* Documentation is updated whenever necessary

21
docs/ExtensionPoints.md Normal file
View File

@@ -0,0 +1,21 @@
ExtensionPoints
---------------
- [AuthenticationHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AuthenticationHandler.html "wikilink")
- [AuthenticationListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AuthenticationListener.html "wikilink")
- [ChangesetPreProcessor](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/ChangesetPreProcessor.html "wikilink")
- [ChangesetPreProcessorFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/ChangesetPreProcessorFactory.html "wikilink")
- [
FileObjectPreProcessor](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/FileObjectPreProcessor.html "wikilink")
- [FileObjectPreProcessorFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/FileObjectPreProcessorFactory.html "wikilink")
- [FileSystem](http://docs.scm-manager.org/apidocs/latest/sonia/scm/io/FileSystem.html "wikilink")
- [GroupListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/group/GroupListener.html "wikilink")
- [Module](http://google-guice.googlecode.com/svn/tags/3.0/javadoc/com/google/inject/Module.html "wikilink")
- [RepositoryHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryHandler.html "wikilink")
- [RepositoryHook](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryHook.html "wikilink")
- [RepositoryListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryListener.html "wikilink")
- [
RepositoryRequestListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryRequestListener.html "wikilink")
- [ResourceHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/resources/ResourceHandler.html "wikilink")
- [ServletModule](http://google-guice.googlecode.com/svn/tags/3.0/javadoc/com/google/inject/servlet/ServletModule.html "wikilink")
- [UserListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/user/UserListener.html "wikilink")

119
docs/Home.md Normal file
View File

@@ -0,0 +1,119 @@
The easiest way to share and manage your Git, Mercurial and Subversion
repositories over http.
- Very easy installation
- No need to hack configuration files, SCM-Manager is completely
configureable from its Web-Interface
- No Apache and no database installation is 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 ( f.e. Ldap-, ActiveDirectory-,
PAM-Authentication)
- Licensed under the MIT-License
### News
- \*\*2018-09-25\*\* - [SCM-Manager 2 gets a boost by Cloudogu
GmbH](https://www.scm-manager.org/scm-manager-2/scm-manager-2-gets-a-boost-by-cloudogu-gmbh/ "wikilink")
- \*\*2018-05-04\*\* - SCM-Manager 1.60 released
([download](http://www.scm-manager.org/download/ "wikilink") \|
[release notes](release-notes.md "wikilink"))
- \*\*2018-04-11\*\* - SCM-Manager 1.59 released
[All news](http://www.scm-manager.org/news/ "wikilink")
### Mailing List
- <scmmanager@googlegroups.com> -
[archive](http://groups.google.com/group/scmmanager "wikilink") \|
[subscribe](mailto:scmmanager+subscribe@googlegroups.com "wikilink")
\|
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com "wikilink")
### Use SCM-Manager
- [Getting started](getting-started.md "wikilink")
- [Download latest
version](http://www.scm-manager.org/download/ "wikilink")
- [FAQ](faq.md "wikilink")
- [Upgrade SCM-Manager to a newer version](upgrade.md "wikilink")
- [Download latest snapshot
release](download-snapshot-release.md "wikilink")
- [Download Archive](download-archive.md "wikilink")
- [Command line client](command-line-client.md "wikilink")
- [SCM-Server SSL](scm-server-ssl.md "wikilink")
- [ApplicationServer
(Tomcat/Glassfish/Jetty)](applicationserver.md "wikilink")
- [Using SCM-Manager with Apache
mod\_proxy](apache/apache-mod_proxy.md "wikilink")
- [Using SCM-Manager with Nginx](nginx.md "wikilink")
- [Using SCM-Manager with ISS
(Helicon)](SCM-Manager%20on%20ISS%20Helicon.md "wikilink")
- [Permissions](Permissions.md "wikilink")
- [Plugins](http://plugins.scm-manager.org/scm-plugin-backend/page/index.html "wikilink")
- [Revision Control Plugin
Comparison](rv-plugin-comparison.md "wikilink")
- [Screenshots](http://www.scm-manager.org/screenshots/ "wikilink")
- [Mercurial Subrepositories](subrepositories.md "wikilink")
- [Unix Daemons and Windows Services](daemons.md "wikilink")
- [RPM and DEB packages](RPM%20and%20DEB%20packages.md "wikilink")
- [Build windows mercurial packages for
SCM-Manager](https://bitbucket.org/sdorra/build-win-hg-packages "wikilink")
### Plugin documentation
- [Active Directory Plugin](active-directory-plugin.md "wikilink")
- [Branch Write Protect Plugin](branchwp-plugin.md "wikilink")
- [Jenkins Plugin](jenkins-plugin.md "wikilink")
- [Jira Plugin](jira-plugin.md "wikilink")
- [Mail Plugin](mail-plugin.md "wikilink")
- [Path Write Protect Plugin](pathwp-plugin.md "wikilink")
- [Redmine Plugin](redmine-plugin.md "wikilink")
- [Scheduler Plugin](scheduler-plugin.md "wikilink")
- [Trac Plugin](trac-plugin.md "wikilink")
- [WebHook Plugin](webhook-plugin.md "wikilink")
### Development
- [Building SCM-Manager from source](build-from-source.md "wikilink")
- [Java Client API](java-client-api.md "wikilink")
- [Code
Snippets](https://bitbucket.org/sdorra/scm-manager/wiki/code-snippets "wikilink")
- [Configuring Eclipse projects for
SCM-Manager](configure-eclipse.md "wikilink")
- [Plugin Descriptor](plugin-descriptor.md "wikilink")
- [ExtensionPoints](ExtensionPoints.md "wikilink")
- [How to create your own plugin](howto-create-a-plugin.md "wikilink")
- [Injection Objects](injectionObjects.md "wikilink")
- [API
documentation](http://docs.scm-manager.org/apidocs/latest/ "wikilink")
- [WebService
documentation](http://docs.scm-manager.org/restdocs/current/ "wikilink")
### SCM Manager 2
- [Configuration for Intellij
IDEA](v2/intellij-idea-configuration.md "wikilink")
- [State of SCM-Manager 2
development](v2/State%20of%20SCM-Manager%202%20development.md "wikilink")
- [SCM v2 Test Cases](v2/SCMM-v2-Test-Cases.md "wikilink")
- [Table of decisions made during
development](v2/Decision-Table.md "wikilink")
- [Definition of done](Definition%20of%20done.md "wikilink")
- [Style Guide](v2/style-guide.md "wikilink")
- [Error Handling in REST, Java, UI](v2/error-handling.md "wikilink")
- [Create a new Plugin](v2/Create%20a%20new%20Plugin.md "wikilink")
- [Migrate Plugin from v1](v2/Migrate%20Plugin%20from%20v1.md "wikilink")
- [Plugin Development](v2/Plugin%20Development.md "wikilink")
- [i18n for Plugins](v2/i18n%20for%20Plugins.md "wikilink")
- [Extension Points](v2/Extension-Points.md "wikilink")
- [API changes](v2/API%20changes.md "wikilink")
- [ui-components/ui-types](v2/UI%20Additions%20or%20Changes%20to%20ui-components%20or%20ui-types.md "wikilink")
- [Vulnerabilities](v2/vulnerabilities.md "wikilink")
- [Common pitfall](v2/Common%20pitfall.md "wikilink")
- [Release process](v2/Release%20process.md "wikilink")
- [Migration Wizard](v2/Migration-Wizard.md "wikilink")
- [Known Issues](v2/Known%20Issues.md "wikilink")

View File

@@ -0,0 +1 @@
Moved to [State of SCM-Manager 2 development](https://bitbucket.org/sdorra/scm-manager/wiki/State%20of%20SCM-Manager%202%20development)

29
docs/Permissions.md Normal file
View File

@@ -0,0 +1,29 @@
## Permissions ##
SCM-Manager knows three different types of repository permissions:
Type | Description
----- | ----------
READ | The user is able to read
WRITE | The user is able to read and write
OWNER | The user is able to read, write and to manager permissions
Repository permissions can be assigned to users and groups. The permissions can be assigned
to only one repository or to each repository. Administrators have owner permissions on every repository.
### Repository permissions ###
Repository permissions can be managed by administrators and by repository owners.
The permissions can be managed on the permission tab of each repository.
![repository permissions](https://bytebucket.org/sdorra/scm-manager/wiki/screenshots/permissions_repository.png "repository permissions")
### Global permissions ###
Global permissions are only manageable by administrators. They can be managed at *Security -> Users* or *Security -> Groups*.
![global permissions](https://bytebucket.org/sdorra/scm-manager/wiki/screenshots/permissions_global.png "global permissions")
### Administrators ###
Administrators can mark other users as administrators at *Security -> Users*.

View File

@@ -0,0 +1,75 @@
Since version 1.39, SCM-Manager is delivered as RPM and DEB package. The package are generated with the [nativepkg-maven-plugin](https://github.com/sdorra/nativepkg-maven-plugin). The following table shows the directory structure which will be created by the packages:
File | Description
--- | ---
/opt/scm-server | Main directory for scm-server installation
/etc/default/scm-server | Default settings for scm-server
/etc/init.d/scm-server | Start script for scm-server
/var/cache/scm/work | Cache directory
/var/log/scm | Logging directory
/var/lib/scm | SCM-Manager home directory
The package will create a user and group which are called scm. The scm user will be the owner of the process. The init script uses jsvc to start the scm-server process, which makes it possible to run scm-server on port 80 without running it as root user. The main settings for the server process are stored at /etc/default/scm-server.
## Installation
### RPM
The RPM package is tested with Fedora and Centos. Create a new files at /etc/yum.repos.d/SCM-Manager.repo with the following content to install the scm-manager repository:
```
#!text
[scm-releases]
name=SCM-Manager Releases
baseurl=http://maven.scm-manager.org/nexus/content/repositories/releases
enabled=1
protect=0
gpgcheck=0
metadata_expire=30s
autorefresh=1
type=rpm-md
```
After file creation execute the following command to install scm-server:
```
#!bash
# install the scm-server package
sudo yum install scm-server
```
### DEB
The DEB package is tested with Debian and Ubuntu. Execute the following commands to install scm-server:
```
#!bash
# add the scm-manager repository
echo "echo 'deb http://maven.scm-manager.org/nexus/content/repositories/releases ./' >> /etc/apt/sources.list" | sudo sh
# install gpg key for the scm-manager repository
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D742B261
# update
sudo apt-get update
# install scm-server
sudo apt-get install scm-server
```
## Migration from ApplicationServer or Standalone version
To migrate from an existing installation, you have to the following steps:
* Stop the old service
* Move the folder /opt/scm-server, if it exists
* Install the package
* Copy the content of your existing scm home directory to /var/lib/scm
* Change the owner of the directory and all containing files to scm:scm (chown -R scm:scm /var/lib/scm)
* Verify *repositoryDirectory* in /var/lib/scm/config/[git|hg|svn].xml], make sure they point to respective /var/lib/scm/repositories/[git|hg|svn] and not your old location. Otherwise the repository health check will fail.
* Optional: Reapply changes to /opt/scm-server/conf/server-config.xml and /opt/scm-server/conf/logging.xml
* Start scm-server (/etc/init.d/scm-server start)

View File

@@ -0,0 +1,57 @@
First of all this setup is not recommended, because there were a lot of problems with it and it was never tested by the development team of SCM-Manager. However there are several working installation out there. But there some pitfalls:
**Problem description:**
When moving of copying files in SVN, the commit fails with the following message:
```
#!cmd
MyWorkstation:MyRepo user$ svn mv A.cs B.cs
A B.cs
D A.cs
MyWorkstation:MyRepo user$ svn commit -m "Renamed A.cs to B.cs"
Deleting A.cs
Adding B.cs
svn: E175002: Commit failed (details follow):
svn: E175002: The COPY request returned invalid XML in the response: XML parse error at line 1: no element found (/svn/MyRepo/!svn/bc/4/A.cs)
MyWorkstation:MyRepo user$
```
This problem only occurs when accessing the repository via https, not http.
**Solution:**
1. Add the following rewrite rule to the web.config of the SCM application:
```
#!xml
<system.webServer>
<!-- <heliconZoo /> -->
<!-- <handlers /> -->
<rewrite>
<rules>
<rule name="Rewrite Destination Header" stopProcessing="true">
<match url=".+" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="MOVE|COPY" />
<add input="{HTTP_Destination}" pattern="^https://(.+)$" />
</conditions>
<serverVariables>
<set name="HTTP_Destination" value="http://{C:1}" />
</serverVariables>
<action />
</rule>
</rules>
</rewrite>
</system.webServer>
```
2. Add HTTP_Destination to the Allowed Server Variables using IIS:
![2014-10-16_01-40-50.png](https://bitbucket.org/repo/65dEj/images/3287552754-2014-10-16_01-40-50.png)
For more information, see issue [624](https://bitbucket.org/sdorra/scm-manager/issue/624/svn-400-bad-request-on-copy-or-move-when).

View File

@@ -0,0 +1,36 @@
The development of SCM-Manager 2.0.0 is organised in [Trello Boards](https://trello.com/scmmanager).
## [Milestone 1](https://trello.com/b/oit1MD92/scm-manager-2-0-0-milestone-1) ##
### Main goals ###
* remove deprecated and unused stuff
* remove old style listeners
* replace [guava eventbus](https://code.google.com/p/guava-libraries/wiki/EventBusExplained) with [legman](https://github.com/sdorra/legman)
* introduce new plugin structure
* offline plugin installation/updates/deinstallation
* use java 7 as default
* use of [annotation processors](http://docs.oracle.com/javase/7/docs/api/javax/annotation/processing/Processor.html) instead of classpath scanning
* move non core modules (plugin-backend, maven plugins, etc.) to separate repositories
## [Milestone 2](https://trello.com/b/Afb3hoJ9/scm-manager-2-0-0-milestone-2) ##
### Main goals ###
* use [apache shiro](http://shiro.apache.org/) everywhere
* improve authentication
* improve user and group management
* use permission instead of roles
## [Milestone 3](https://trello.com/b/eLvqTGGe/scm-manager-2-0-0-milestone-3) ##
### Main goals ###
* completely new designed rest api
## Milestone 4 ##
### Main goals ###
* completely new user interface
## Milestone 5 ##
### Main goals ###
* improve repository api

View File

@@ -0,0 +1,11 @@
### Active Directory Plugin
- Connect your Windows machine to your local Active Directory
- Log in as a user of that directory
- Run the scm-server batch file
- Install the active-directory plugin
- restart the scm-server
<!-- -->
- - Note:\*\* Since version 1.7 of the plugin 64bit is supported.

View File

@@ -0,0 +1,10 @@
SCM-Server and Apache mod\_jk
-----------------------------
### Apache Configuration
### JK Workers File (jkworkers.properties)
### SCM-Server conf/server-config.xml
Uncomment the following lines:

View File

@@ -0,0 +1,31 @@
SCM-Server and Apache mod\_proxy
--------------------------------
### Apache configuration
- - Warning\*\*: Setting ProxyPassReverseCookiePath would most
likely cause problems with session handling!
<!-- -->
- - Note\*\*: If you encounter timeout problems, please have a look
[here](http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers "wikilink").
### SCM-Server conf/server-config.xml
NOTE: This file is found in the installation directory, not the user\'s
home directory.
Uncomment following line: Example: === SCM-Manager Configuration version
1.5 and above ==
1. Login as an admin user and select \"General\"
2. Set the \"Base Url\" to the URL of the Apache (\*\*warning:\*\*
don\'t check \"Force Base Url\")
3. Save the new new settings
### SCM-Manager Configuration before version 1.5
1. Login as an admin user and select \"General\"
2. Set the Serverport to the apache port (normally port 80)
3. Save the new settings

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

47
docs/applicationserver.md Normal file
View File

@@ -0,0 +1,47 @@
Tomcat
------
Mercurial uses very large http headers for branch and head informations.
You have to increase the maxHttpHeaderSize parameter on the connector
configuration. Open the conf/server.xml and add the parameter to your
connector e.g.:
After changing the configuration you have to restart the tomcat.
Source: <http://tomcat.apache.org/tomcat-7.0-doc/config/http.html>
- - Note\*\*: If you have problems with big mercurial pushes on
instances which are newer than tomcat 7.0.55, you have to
increase/disable the maxSwallowSize (see issue \#691).
#### Access Log
If you wan\'t like to print the current user in tomcats access log you
could use a valve like the following:
The pattern \*\*%{principal}r\*\* is responsible for logging the
username to the access log (see issue \#877).
GlassFish
---------
To use SCM-Manager 1.6 and above with GlassFish 3 you have to add a
JVM-Option to the GlassFish configuration to override the jax-rs
packages. Please execute the following commands.
- - Note\*\* Glassfish 3.1.2 and above seems not to work with
SCM-Manager. Please have a look at
[QeO-QVX6wmsJ](https://groups.google.com/forum/#!searchin/scmmanager/glassfish/scmmanager/SEbuEU8H-qo/QeO-QVX6wmsJ "wikilink").
Restart the GlassFish-Server.
Source:
<http://jersey.java.net/nonav/documentation/latest/glassfish.html>
Jetty
-----
If Jetty returns a HTTP \"413 FULL head\" status, you may want to
further increase the maximum header size. You can configure the limit by
setting the headerBufferSize for the connector you\'re using in the
jetty.xml file:

42
docs/branchwp-plugin.md Normal file
View File

@@ -0,0 +1,42 @@
Branch Write Protect Plugin
---------------------------
### Installation
- Login in as administrator
- Open Plugins
- Install scm-branchwp-plugin
- Restart your applicationserver
### Usage
After the restart you should see a \"Branch write protect\" tab for each
repository. On this tab you are able to set branch write protections for
users and groups. Here are some rules for the usage of the branchwp
plugin:
- Administrators and repository owner have always write access.
- Grant write permissions on the \"Permission\" tab for every user or
group who should write to any branch in the repository.
- If the branchwp plugin is enabled, nobody can write to the
repository expect administrators, repository owners and the
specified rules.
### Notes
The branchwp plugin works only for Git and Mercurial, for Subversion
have a look at the
[pathwp-plugin](http://plugins.scm-manager.org/scm-plugin-backend/page/detail/sonia.scm.plugins/scm-pathwp-plugin.html "wikilink").
Since version 1.2 of the plugin it is possible to define deny
permissions and placeholders for branch names. Deny permissions are
handled always before allow permissions. At the state of version 1.2 the
following placeholders are available:
- {username} - will be replaced with the username of the current user
- {mail} - will be replaced with the e-mail address of the current
user
### Known issues
- <https://bitbucket.org/sdorra/scm-manager/issue/235/branchwp-plugin-can-not-use-on-git>

35
docs/build-from-source.md Normal file
View File

@@ -0,0 +1,35 @@
Building SCM-Manager from source
--------------------------------
### Software Requirements
- JDK 1.7 or higher
([download](http://www.oracle.com/technetwork/java/index.html "wikilink"))
- Maven 3 or higher ([download](http://maven.apache.org/ "wikilink"))
- Mercurial ([download](https://www.mercurial-scm.org/ "wikilink"))
### Build SCM-Manager 1.x from source
- - Note:\*\* if you use the \"package\" phase rather than the
\"install\" phase, the standalone version may include an old
version of the WAR file in the distribution bundle, rather than
the version you just built.
After mvn finished, the war bundle is located at
\*\*scm-webapp/target/scm-webapp.war\*\* and the standalone version is
located at \*\*scm-server/target/scm-server-app\*\*.
You can also start a dev server using \`mvn jetty:run-war -f
scm-webapp\`. SCMM is served at <http://localhost:8081/scm>.
### REST
Docs:
- Create the documentation: \`mvn -f scm-webapp compile -P doc\`
- The documentation can be found at scm-webapp/target/restdocs
Note that if using jetty (see above) you have to access
<http://localhost:8081/scm> once, to trigger creation of the
\`scmadmin\` user. Then you can access the REST api directly
<http://localhost:8081/scm/api/rest>

15
docs/code-snippets.md Normal file
View File

@@ -0,0 +1,15 @@
Code Snippets
-------------
### User Interface
- [extend
navigation](https://bitbucket.org/sdorra/scm-manager/wiki/snippet-extend-navigation "wikilink")
- [add tab to repository
configuration](https://bitbucket.org/sdorra/scm-manager/wiki/snippet-repository-tab "wikilink")
- [extend global
configuration](https://bitbucket.org/sdorra/scm-manager/wiki/snippet-config-group "wikilink")
=== Backend ==
- [Authentication](https://bitbucket.org/sdorra/scm-manager/wiki/snippet-authentication "wikilink")

View File

@@ -0,0 +1,16 @@
Command line client
-------------------
You can download the command line client from
[here](http://www.scm-manager.org/download/ "wikilink") (the
scm-cli-client).
### Examples
- - 1\. Store username, password and server url\*\*
- - 2\. List all repositories\*\*
- - 3\. Create a new user\*\*
- - 4\. Add write permission for user test to repository scm\*\*

49
docs/configure-eclipse.md Normal file
View File

@@ -0,0 +1,49 @@
There are multiple approaches to using Maven projects within Eclipse. If
you use an approach that isn\'t listed here, feel free to add it.
Use Maven to generate Eclipse project files
-------------------------------------------
1. First, [build scm-manager from
source](build-from-source "wikilink").
2. Open a shell to the root of your scm-manager source.
3. Run the following command:\\\\
4. Run the following command:\\\\
5. Open Eclipse using the specified workspace.
6. In Eclipse, select the \"File\", \"Import\...\" menu.
7. Select the \"General\", \"Existing Projects into Workspace\" item
and click \"Next\".
8. Click \"Browse\" and select the root of your scm-manager source.
9. All projects will be selected by default. Click \"Finish\".
### Troubleshooting
You may encounter an error during the \"eclipse:eclipse\" step that
looks like this:
This error is caused by a bug in version 2.7 and 2.8 of the Maven
eclipse plugin. See below for one workaround. Other discussion of this
issue can be found
[here](http://forums.atlassian.com/thread.jspa?threadID=34952&tstart=1 "wikilink").
1. Add the following line within the <settings> element of your
\~/.m2/settings.xml [file:\\\\](file:\\){{{
<usePluginRegistry>true</usePluginRegistry> }}}
1. Add the file \~/.m2/plugin-registry.xml with the following contents:
If you have .project files in any parent directory, the Eclipse import
step will not search beneath that parent for any further projects.
Delete the .project file in the parent and try the import again.
If you get errors in Eclipse about not finding M2\_REPO, it means that
the eclipse:configure-workspace step didn\'t work. One cause for this
could be using \"\~\" or other special characters in your workspace path
that the plugin doesn\'t resolve properly. Either re-run
eclipse:configure-workspace, or manually create a classpath variable
named M2\_REPO pointing to the root of your local maven repository
directory.
If you get compilation errors on JAXB or ServiceLoader, your Eclipse may
not be configured to use Java 6.

20
docs/daemons.md Normal file
View File

@@ -0,0 +1,20 @@
Unix Daemons and Windows Services
---------------------------------
- - Note\*\*: If you are using a 64Bit operating system you should
use a 64Bit JavaVirtualMachine as well (\#74 or
[rOL1nJ9DnfI](https://groups.google.com/forum/?fromgroups#!topic/scmmanager/rOL1nJ9DnfI "wikilink")).
### Unix Daemons
You could run scm-server in background as unix daemon with one simple
command:
If you would like to stop the running daemon instance just call:
### Windows Services
Register scm-server as Windows service open a console (cmd) as
Administrator and execute the following command: The service is no
available in the service control center. You could uninstall the service
with the command below:

770
docs/download-archive.md Normal file
View File

@@ -0,0 +1,770 @@
Download Archive
----------------
### SCM-Server 1.59 (standalone)
- [scm-server-1.59-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.59/scm-server-1.59-app.zip "wikilink")
- [scm-server-1.59-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.59/scm-server-1.59-app.tar.gz "wikilink")
### SCM-WebApp 1.59 (Web application archive)
- [scm-webapp-1.59.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.59/scm-webapp-1.59.war "wikilink")
### SCM-Cli-Client 1.59 (Java application archive)
- [scm-cli-client-1.59-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.59/scm-cli-client-1.59-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.58 (standalone)
- [scm-server-1.58-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.58/scm-server-1.58-app.zip "wikilink")
- [scm-server-1.58-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.58/scm-server-1.58-app.tar.gz "wikilink")
### SCM-WebApp 1.58 (Web application archive)
- [scm-webapp-1.58.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.58/scm-webapp-1.58.war "wikilink")
### SCM-Cli-Client 1.58 (Java application archive)
- [scm-cli-client-1.58-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.58/scm-cli-client-1.58-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.57 (standalone)
- [scm-server-1.57-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.57/scm-server-1.57-app.zip "wikilink")
- [scm-server-1.57-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.57/scm-server-1.57-app.tar.gz "wikilink")
### SCM-WebApp 1.57 (Web application archive)
- [scm-webapp-1.57.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.57/scm-webapp-1.57.war "wikilink")
### SCM-Cli-Client 1.57 (Java application archive)
- [scm-cli-client-1.57-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.57/scm-cli-client-1.57-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.56 (standalone)
- [scm-server-1.56-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.56/scm-server-1.56-app.zip "wikilink")
- [scm-server-1.56-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.56/scm-server-1.56-app.tar.gz "wikilink")
### SCM-WebApp 1.56 (Web application archive)
- [scm-webapp-1.56.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.56/scm-webapp-1.56.war "wikilink")
### SCM-Cli-Client 1.56 (Java application archive)
- [scm-cli-client-1.56-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.56/scm-cli-client-1.56-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.55 (standalone)
- [scm-server-1.55-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.55/scm-server-1.55-app.zip "wikilink")
- [scm-server-1.55-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.55/scm-server-1.55-app.tar.gz "wikilink")
### SCM-WebApp 1.55 (Web application archive)
- [scm-webapp-1.55.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.55/scm-webapp-1.55.war "wikilink")
### SCM-Cli-Client 1.55 (Java application archive)
- [scm-cli-client-1.55-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.55/scm-cli-client-1.55-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.54 (standalone)
- [scm-server-1.54-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.54/scm-server-1.54-app.zip "wikilink")
- [scm-server-1.54-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.54/scm-server-1.54-app.tar.gz "wikilink")
### SCM-WebApp 1.54 (Web application archive)
- [scm-webapp-1.54.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.54/scm-webapp-1.54.war "wikilink")
### SCM-Cli-Client 1.54 (Java application archive)
- [scm-cli-client-1.54-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.54/scm-cli-client-1.54-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.53 (standalone)
- [scm-server-1.53-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.53/scm-server-1.53-app.zip "wikilink")
- [scm-server-1.53-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.53/scm-server-1.53-app.tar.gz "wikilink")
### SCM-WebApp 1.53 (Web application archive)
- [scm-webapp-1.53.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.53/scm-webapp-1.53.war "wikilink")
### SCM-Cli-Client 1.53 (Java application archive)
- [scm-cli-client-1.53-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.53/scm-cli-client-1.53-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.52 (standalone)
- [scm-server-1.52-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.52/scm-server-1.52-app.zip "wikilink")
- [scm-server-1.52-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.52/scm-server-1.52-app.tar.gz "wikilink")
### SCM-WebApp 1.52 (Web application archive)
- [scm-webapp-1.52.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.52/scm-webapp-1.52.war "wikilink")
### SCM-Cli-Client 1.52 (Java application archive)
- [scm-cli-client-1.52-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.52/scm-cli-client-1.52-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.51 (standalone)
- [scm-server-1.51-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.51/scm-server-1.51-app.zip "wikilink")
- [scm-server-1.51-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.51/scm-server-1.51-app.tar.gz "wikilink")
### SCM-WebApp 1.51 (Web application archive)
- [scm-webapp-1.51.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.51/scm-webapp-1.51.war "wikilink")
### SCM-Cli-Client 1.51 (Java application archive)
- [scm-cli-client-1.51-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.51/scm-cli-client-1.51-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.50 (standalone)
- [scm-server-1.50-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.50/scm-server-1.50-app.zip "wikilink")
- [scm-server-1.50-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.50/scm-server-1.50-app.tar.gz "wikilink")
### SCM-WebApp 1.50 (Web application archive)
- [scm-webapp-1.50.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.50/scm-webapp-1.50.war "wikilink")
### SCM-Cli-Client 1.50 (Java application archive)
- [scm-cli-client-1.50-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.50/scm-cli-client-1.50-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.49 (standalone)
- [scm-server-1.49-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.49/scm-server-1.49-app.zip "wikilink")
- [scm-server-1.49-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.49/scm-server-1.49-app.tar.gz "wikilink")
### SCM-WebApp 1.49 (Web application archive)
- [scm-webapp-1.49.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.49/scm-webapp-1.49.war "wikilink")
### SCM-Cli-Client 1.49 (Java application archive)
- [scm-cli-client-1.49-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.49/scm-cli-client-1.49-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.48 (standalone)
- [scm-server-1.48-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.48/scm-server-1.48-app.zip "wikilink")
- [scm-server-1.48-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.48/scm-server-1.48-app.tar.gz "wikilink")
### SCM-WebApp 1.48 (Web application archive)
- [scm-webapp-1.48.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.48/scm-webapp-1.48.war "wikilink")
### SCM-Cli-Client 1.48 (Java application archive)
- [scm-cli-client-1.48-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.48/scm-cli-client-1.48-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.47 (standalone)
- [scm-server-1.47-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.47/scm-server-1.47-app.zip "wikilink")
- [scm-server-1.47-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.47/scm-server-1.47-app.tar.gz "wikilink")
### SCM-WebApp 1.47 (Web application archive)
- [scm-webapp-1.47.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.47/scm-webapp-1.47.war "wikilink")
### SCM-Cli-Client 1.47 (Java application archive)
- [scm-cli-client-1.47-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.47/scm-cli-client-1.47-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.46 (standalone)
- [scm-server-1.46-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.46/scm-server-1.46-app.zip "wikilink")
- [scm-server-1.46-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.46/scm-server-1.46-app.tar.gz "wikilink")
### SCM-WebApp 1.46 (Web application archive)
- [scm-webapp-1.46.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.46/scm-webapp-1.46.war "wikilink")
### SCM-Cli-Client 1.46 (Java application archive)
- [scm-cli-client-1.46-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.46/scm-cli-client-1.46-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.45 (standalone)
- [scm-server-1.45-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.45/scm-server-1.45-app.zip "wikilink")
- [scm-server-1.45-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.45/scm-server-1.45-app.tar.gz "wikilink")
### SCM-WebApp 1.45 (Web application archive)
- [scm-webapp-1.45.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.45/scm-webapp-1.45.war "wikilink")
### SCM-Cli-Client 1.45 (Java application archive)
- [scm-cli-client-1.45-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.45/scm-cli-client-1.45-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.44 (standalone)
- [scm-server-1.44-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.44/scm-server-1.44-app.zip "wikilink")
- [scm-server-1.44-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.44/scm-server-1.44-app.tar.gz "wikilink")
### SCM-WebApp 1.44 (Web application archive)
- [scm-webapp-1.44.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.44/scm-webapp-1.44.war "wikilink")
### SCM-Cli-Client 1.44 (Java application archive)
- [scm-cli-client-1.44-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.44/scm-cli-client-1.44-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.43 (standalone)
- [scm-server-1.43-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.43/scm-server-1.43-app.zip "wikilink")
- [scm-server-1.43-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.43/scm-server-1.43-app.tar.gz "wikilink")
### SCM-WebApp 1.43 (Web application archive)
- [scm-webapp-1.43.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.43/scm-webapp-1.43.war "wikilink")
### SCM-Cli-Client 1.43 (Java application archive)
- [scm-cli-client-1.43-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.43/scm-cli-client-1.43-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.42 (standalone)
- [scm-server-1.42-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.42/scm-server-1.42-app.zip "wikilink")
- [scm-server-1.42-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.42/scm-server-1.42-app.tar.gz "wikilink")
### SCM-WebApp 1.42 (Web application archive)
- [scm-webapp-1.42.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.42/scm-webapp-1.42.war "wikilink")
### SCM-Cli-Client 1.42 (Java application archive)
- [scm-cli-client-1.42-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.42/scm-cli-client-1.42-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.41 (standalone)
- [scm-server-1.41-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.41/scm-server-1.41-app.zip "wikilink")
- [scm-server-1.41-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.41/scm-server-1.41-app.tar.gz "wikilink")
### SCM-WebApp 1.41 (Web application archive)
- [scm-webapp-1.41.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.41/scm-webapp-1.41.war "wikilink")
### SCM-Cli-Client 1.41 (Java application archive)
- [scm-cli-client-1.41-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.41/scm-cli-client-1.41-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.40 (standalone)
- [scm-server-1.40-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.40/scm-server-1.40-app.zip "wikilink")
- [scm-server-1.40-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.40/scm-server-1.40-app.tar.gz "wikilink")
### SCM-WebApp 1.40 (Web application archive)
- [scm-webapp-1.40.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.40/scm-webapp-1.40.war "wikilink")
### SCM-Cli-Client 1.40 (Java application archive)
- [scm-cli-client-1.40-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.40/scm-cli-client-1.40-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.39 (standalone)
- [scm-server-1.39-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.39/scm-server-1.39-app.zip "wikilink")
- [scm-server-1.39-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.39/scm-server-1.39-app.tar.gz "wikilink")
### SCM-WebApp 1.39 (Web application archive)
- [scm-webapp-1.39.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.39/scm-webapp-1.39.war "wikilink")
### SCM-Cli-Client 1.39 (Java application archive)
- [scm-cli-client-1.39-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.39/scm-cli-client-1.39-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.38 (standalone)
- [scm-server-1.38-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.38/scm-server-1.38-app.zip "wikilink")
- [scm-server-1.38-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.38/scm-server-1.38-app.tar.gz "wikilink")
### SCM-WebApp 1.38 (Web application archive)
- [scm-webapp-1.38.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.38/scm-webapp-1.38.war "wikilink")
### SCM-Cli-Client 1.38 (Java application archive)
- [scm-cli-client-1.38-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.38/scm-cli-client-1.38-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.37 (standalone)
- [scm-server-1.37-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.37/scm-server-1.37-app.zip "wikilink")
- [scm-server-1.37-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.37/scm-server-1.37-app.tar.gz "wikilink")
### SCM-WebApp 1.37 (Web application archive)
- [scm-webapp-1.37.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.37/scm-webapp-1.37.war "wikilink")
### SCM-Cli-Client 1.37 (Java application archive)
- [scm-cli-client-1.37-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.37/scm-cli-client-1.37-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.36 (standalone)
- [scm-server-1.36-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.36/scm-server-1.36-app.zip "wikilink")
- [scm-server-1.36-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.36/scm-server-1.36-app.tar.gz "wikilink")
### SCM-WebApp 1.36 (Web application archive)
- [scm-webapp-1.36.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.36/scm-webapp-1.36.war "wikilink")
### SCM-Cli-Client 1.36 (Java application archive)
- [scm-cli-client-1.36-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.36/scm-cli-client-1.36-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.35 (standalone)
- [scm-server-1.35-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.35/scm-server-1.35-app.zip "wikilink")
- [scm-server-1.35-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.35/scm-server-1.35-app.tar.gz "wikilink")
### SCM-WebApp 1.35 (Web application archive)
- [scm-webapp-1.35.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.35/scm-webapp-1.35.war "wikilink")
### SCM-Cli-Client 1.35 (Java application archive)
- [scm-cli-client-1.35-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.35/scm-cli-client-1.35-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.34 (standalone)
- [scm-server-1.34-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.34/scm-server-1.34-app.zip "wikilink")
- [scm-server-1.34-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.34/scm-server-1.34-app.tar.gz "wikilink")
### SCM-WebApp 1.34 (Web application archive)
- [scm-webapp-1.34.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.34/scm-webapp-1.34.war "wikilink")
### SCM-Cli-Client 1.34 (Java application archive)
- [scm-cli-client-1.34-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.34/scm-cli-client-1.34-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.33 (standalone)
- [scm-server-1.33-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.33/scm-server-1.33-app.zip "wikilink")
- [scm-server-1.33-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.33/scm-server-1.33-app.tar.gz "wikilink")
### SCM-WebApp 1.33 (Web application archive)
- [scm-webapp-1.33.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.33/scm-webapp-1.33.war "wikilink")
### SCM-Cli-Client 1.33 (Java application archive)
- [scm-cli-client-1.33-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.33/scm-cli-client-1.33-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.32 (standalone)
- [scm-server-1.32-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.32/scm-server-1.32-app.zip "wikilink")
- [scm-server-1.32-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.32/scm-server-1.32-app.tar.gz "wikilink")
### SCM-WebApp 1.32 (Web application archive)
- [scm-webapp-1.32.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.32/scm-webapp-1.32.war "wikilink")
### SCM-Cli-Client 1.32 (Java application archive)
- [scm-cli-client-1.32-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.32/scm-cli-client-1.32-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.31 (standalone)
- [scm-server-1.31-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.31/scm-server-1.31-app.zip "wikilink")
- [scm-server-1.31-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.31/scm-server-1.31-app.tar.gz "wikilink")
### SCM-WebApp 1.31 (Web application archive)
- [scm-webapp-1.31.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.31/scm-webapp-1.31.war "wikilink")
### SCM-Cli-Client 1.31 (Java application archive)
- [scm-cli-client-1.31-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.31/scm-cli-client-1.31-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.30 (standalone)
- [scm-server-1.30-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.30/scm-server-1.30-app.zip "wikilink")
- [scm-server-1.30-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.30/scm-server-1.30-app.tar.gz "wikilink")
### SCM-WebApp 1.30 (Web application archive)
- [scm-webapp-1.30.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.30/scm-webapp-1.30.war "wikilink")
### SCM-Cli-Client 1.30 (Java application archive)
- [scm-cli-client-1.30-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.30/scm-cli-client-1.30-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.29 (standalone)
- [scm-server-1.29-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.29/scm-server-1.29-app.zip "wikilink")
- [scm-server-1.29-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.29/scm-server-1.29-app.tar.gz "wikilink")
### SCM-WebApp 1.29 (Web application archive)
- [scm-webapp-1.29.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.29/scm-webapp-1.29.war "wikilink")
### SCM-Cli-Client 1.29 (Java application archive)
- [scm-cli-client-1.29-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.29/scm-cli-client-1.29-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.28 (standalone)
- [scm-server-1.28-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.28/scm-server-1.28-app.zip "wikilink")
- [scm-server-1.28-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.28/scm-server-1.28-app.tar.gz "wikilink")
### SCM-WebApp 1.28 (Web application archive)
- [scm-webapp-1.28.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.28/scm-webapp-1.28.war "wikilink")
### SCM-Cli-Client 1.28 (Java application archive)
- [scm-cli-client-1.28-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.28/scm-cli-client-1.28-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.27 (standalone)
- [scm-server-1.27-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.27/scm-server-1.27-app.zip "wikilink")
- [scm-server-1.27-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.27/scm-server-1.27-app.tar.gz "wikilink")
### SCM-WebApp 1.27 (Web application archive)
- [scm-webapp-1.27.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.27/scm-webapp-1.27.war "wikilink")
### SCM-Cli-Client 1.27 (Java application archive)
- [scm-cli-client-1.27-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.27/scm-cli-client-1.27-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.26 (standalone)
- [scm-server-1.26-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.26/scm-server-1.26-app.zip "wikilink")
- [scm-server-1.26-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.26/scm-server-1.26-app.tar.gz "wikilink")
### SCM-WebApp 1.26 (Web application archive)
- [scm-webapp-1.26.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.26/scm-webapp-1.26.war "wikilink")
### SCM-Cli-Client 1.26 (Java application archive)
- [scm-cli-client-1.26-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.26/scm-cli-client-1.26-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.25 (standalone)
- [scm-server-1.25-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.25/scm-server-1.25-app.zip "wikilink")
- [scm-server-1.25-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.25/scm-server-1.25-app.tar.gz "wikilink")
### SCM-WebApp 1.25 (Web application archive)
- [scm-webapp-1.25.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.25/scm-webapp-1.25.war "wikilink")
### SCM-Cli-Client 1.25 (Java application archive)
- [scm-cli-client-1.25-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.25/scm-cli-client-1.25-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.24 (standalone)
- [scm-server-1.24-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.24/scm-server-1.24-app.zip "wikilink")
- [scm-server-1.24-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.24/scm-server-1.24-app.tar.gz "wikilink")
### SCM-WebApp 1.24 (Web application archive)
- [scm-webapp-1.24.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.24/scm-webapp-1.24.war "wikilink")
### SCM-Cli-Client 1.24 (Java application archive)
- [scm-cli-client-1.24-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.24/scm-cli-client-1.24-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.23 (standalone)
- [scm-server-1.23-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.23/scm-server-1.23-app.zip "wikilink")
- [scm-server-1.23-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.23/scm-server-1.23-app.tar.gz "wikilink")
### SCM-WebApp 1.23 (Web application archive)
- [scm-webapp-1.23.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.23/scm-webapp-1.23.war "wikilink")
### SCM-Cli-Client 1.23 (Java application archive)
- [scm-cli-client-1.23-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.23/scm-cli-client-1.23-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.22 (standalone)
- [scm-server-1.22-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.22/scm-server-1.22-app.zip "wikilink")
- [scm-server-1.22-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.22/scm-server-1.22-app.tar.gz "wikilink")
### SCM-WebApp 1.22 (Web application archive)
- [scm-webapp-1.22.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.22/scm-webapp-1.22.war "wikilink")
### SCM-Cli-Client 1.22 (Java application archive)
- [scm-cli-client-1.22-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.22/scm-cli-client-1.22-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.21 (standalone)
- [scm-server-1.21-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.21/scm-server-1.21-app.zip "wikilink")
- [scm-server-1.21-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.21/scm-server-1.21-app.tar.gz "wikilink")
### SCM-WebApp 1.21 (Web application archive)
- [scm-webapp-1.21.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.21/scm-webapp-1.21.war "wikilink")
### SCM-Cli-Client 1.21 (Java application archive)
- [scm-cli-client-1.21-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.21/scm-cli-client-1.21-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.20 (standalone)
- [scm-server-1.20-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.20/scm-server-1.20-app.zip "wikilink")
- [scm-server-1.20-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.20/scm-server-1.20-app.tar.gz "wikilink")
### SCM-WebApp 1.20 (Web application archive)
- [scm-webapp-1.20.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.20/scm-webapp-1.20.war "wikilink")
### SCM-Cli-Client 1.20 (Java application archive)
- [scm-cli-client-1.20-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.20/scm-cli-client-1.20-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.19 (standalone)
- [scm-server-1.19-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.19/scm-server-1.19-app.zip "wikilink")
- [scm-server-1.19-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.19/scm-server-1.19-app.tar.gz "wikilink")
### SCM-WebApp 1.19 (Web application archive)
- [scm-webapp-1.19.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.19/scm-webapp-1.19.war "wikilink")
### SCM-Cli-Client 1.19 (Java application archive)
- [scm-cli-client-1.19-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.19/scm-cli-client-1.19-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.18 (standalone)
- [scm-server-1.18-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.18/scm-server-1.18-app.zip "wikilink")
- [scm-server-1.18-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.18/scm-server-1.18-app.tar.gz "wikilink")
### SCM-WebApp 1.18 (Web application archive)
- [scm-webapp-1.18.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.18/scm-webapp-1.18.war "wikilink")
### SCM-Cli-Client 1.18 (Java application archive)
- [scm-cli-client-1.18-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.18/scm-cli-client-1.18-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.17 (standalone)
- [scm-server-1.17-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.17/scm-server-1.17-app.zip "wikilink")
- [scm-server-1.17-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.17/scm-server-1.17-app.tar.gz "wikilink")
### SCM-WebApp 1.17 (Web application archive)
- [scm-webapp-1.17.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.17/scm-webapp-1.17.war "wikilink")
### SCM-Cli-Client 1.17 (Java application archive)
- [scm-cli-client-1.17-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.17/scm-cli-client-1.17-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.16 (standalone)
- [scm-server-1.16-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.16/scm-server-1.16-app.zip "wikilink")
- [scm-server-1.16-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.16/scm-server-1.16-app.tar.gz "wikilink")
### SCM-WebApp 1.16 (Web application archive)
- [scm-webapp-1.16.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.16/scm-webapp-1.16.war "wikilink")
### SCM-Cli-Client 1.16 (Java application archive)
- [scm-cli-client-1.16-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.16/scm-cli-client-1.16-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.15 (standalone)
- [scm-server-1.15-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.15/scm-server-1.15-app.zip "wikilink")
- [scm-server-1.15-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.15/scm-server-1.15-app.tar.gz "wikilink")
### SCM-WebApp 1.15 (Web application archive)
- [scm-webapp-1.15.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.15/scm-webapp-1.15.war "wikilink")
### SCM-Cli-Client 1.15 (Java application archive)
- [scm-cli-client-1.15-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.15/scm-cli-client-1.15-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.14 (standalone)
- [scm-server-1.14-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.14/scm-server-1.14-app.zip "wikilink")
- [scm-server-1.14-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.14/scm-server-1.14-app.tar.gz "wikilink")
### SCM-WebApp 1.14 (Web application archive)
- [scm-webapp-1.14.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.14/scm-webapp-1.14.war "wikilink")
### SCM-Cli-Client 1.14 (Java application archive)
- [scm-cli-client-1.14-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.14/scm-cli-client-1.14-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.13 (standalone)
- [scm-server-1.13-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.13/scm-server-1.13-app.zip "wikilink")
- [scm-server-1.13-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.13/scm-server-1.13-app.tar.gz "wikilink")
### SCM-WebApp 1.13 (Web application archive)
- [scm-webapp-1.13.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.13/scm-webapp-1.13.war "wikilink")
### SCM-Cli-Client 1.13 (Java application archive)
- [scm-cli-client-1.13-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.13/scm-cli-client-1.13-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.12 (standalone)
- [scm-server-1.12-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.12/scm-server-1.12-app.zip "wikilink")
- [scm-server-1.12-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.12/scm-server-1.12-app.tar.gz "wikilink")
### SCM-WebApp 1.12 (Web application archive)
- [scm-webapp-1.12.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.12/scm-webapp-1.12.war "wikilink")
### SCM-Cli-Client 1.12 (Java application archive)
- [scm-cli-client-1.12-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.12/scm-cli-client-1.12-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.11 (standalone)
- [scm-server-1.11-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.11/scm-server-1.11-app.zip "wikilink")
- [scm-server-1.11-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.11/scm-server-1.11-app.tar.gz "wikilink")
### SCM-WebApp 1.11 (Web application archive)
- [scm-webapp-1.11.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.11/scm-webapp-1.11.war "wikilink")
### SCM-Cli-Client 1.11 (Java application archive)
- [scm-cli-client-1.11-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.11/scm-cli-client-1.11-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.10 (standalone)
- [scm-server-1.10-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.10/scm-server-1.10-app.zip "wikilink")
- [scm-server-1.10-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.10/scm-server-1.10-app.tar.gz "wikilink")
### SCM-WebApp 1.10 (Web application archive)
- [scm-webapp-1.10.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.10/scm-webapp-1.10.war "wikilink")
### SCM-Cli-Client 1.10 (Java application archive)
- [scm-cli-client-1.10-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.10/scm-cli-client-1.10-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.9 (standalone)
- [scm-server-1.9-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.9/scm-server-1.9-app.zip "wikilink")
- [scm-server-1.9-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.9/scm-server-1.9-app.tar.gz "wikilink")
### SCM-WebApp 1.9 (Web application archive)
- [scm-webapp-1.9.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.9/scm-webapp-1.9.war "wikilink")
### SCM-Cli-Client 1.9 (Java application archive)
- [scm-cli-client-1.9-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.9/scm-cli-client-1.9-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.8 (standalone)
- [scm-server-1.8-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.8/scm-server-1.8-app.zip "wikilink")
- [scm-server-1.8-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.8/scm-server-1.8-app.tar.gz "wikilink")
### SCM-WebApp 1.8 (Web application archive)
- [scm-webapp-1.8.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.8/scm-webapp-1.8.war "wikilink")
### SCM-Cli-Client 1.8 (Java application archive)
- [scm-cli-client-1.8-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.8/scm-cli-client-1.8-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.7 (standalone)
- [scm-server-1.7-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.7/scm-server-1.7-app.zip "wikilink")
- [scm-server-1.7-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.7/scm-server-1.7-app.tar.gz "wikilink")
### SCM-WebApp 1.7 (Web application archive)
- [scm-webapp-1.7.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.7/scm-webapp-1.7.war "wikilink")
### SCM-Cli-Client 1.7 (Java application archive)
- [scm-cli-client-1.7-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.7/scm-cli-client-1.7-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.6 (standalone)
- [scm-server-1.6-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.6/scm-server-1.6-app.zip "wikilink")
- [scm-server-1.6-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.6/scm-server-1.6-app.tar.gz "wikilink")
### SCM-WebApp 1.6 (Web application archive)
- [scm-webapp-1.6.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.6/scm-webapp-1.6.war "wikilink")
### SCM-Cli-Client 1.6 (Java application archive)
- [scm-cli-client-1.6-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.6/scm-cli-client-1.6-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.5 (standalone)
- [scm-server-1.5-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.5/scm-server-1.5-app.zip "wikilink")
- [scm-server-1.5-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.5/scm-server-1.5-app.tar.gz "wikilink")
### SCM-WebApp 1.5 (Web application archive)
- [scm-webapp-1.5.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.5/scm-webapp-1.5.war "wikilink")
### SCM-Cli-Client 1.5 (Java application archive)
- [scm-cli-client-1.5-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.5/scm-cli-client-1.5-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.4 (standalone)
- [scm-server-1.4-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.4/scm-server-1.4-app.zip "wikilink")
- [scm-server-1.4-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.4/scm-server-1.4-app.tar.gz "wikilink")
### SCM-WebApp 1.4 (Web application archive)
- [scm-webapp-1.4.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.4/scm-webapp-1.4.war "wikilink")
### SCM-Cli-Client 1.4 (Java application archive)
- [scm-cli-client-1.4-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.4/scm-cli-client-1.4-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.3 (standalone)
- [scm-server-1.3-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.3/scm-server-1.3-app.zip "wikilink")
- [scm-server-1.3-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.3/scm-server-1.3-app.tar.gz "wikilink")
### SCM-WebApp 1.3 (Web application archive)
- [scm-webapp-1.3.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.3/scm-webapp-1.3.war "wikilink")
### SCM-Cli-Client 1.3 (Java application archive)
- [scm-cli-client-1.3-jar-with-dependencies.jar](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/clients/scm-cli-client/1.3/scm-cli-client-1.3-jar-with-dependencies.jar "wikilink")
### SCM-Server 1.2 (standalone)
- [scm-server-1.2-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.2/scm-server-1.2-app.zip "wikilink")
- [scm-server-1.2-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.2/scm-server-1.2-app.tar.gz "wikilink")
### SCM-WebApp 1.2 (Web application archive)
- [scm-webapp-1.2.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.2/scm-webapp-1.2.war "wikilink")
### SCM-Server 1.1 (standalone)
- [scm-server-1.1-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.1/scm-server-1.1-app.zip "wikilink")
- [scm-server-1.1-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.1/scm-server-1.1-app.tar.gz "wikilink")
### SCM-WebApp 1.1 (Web application archive)
- [scm-webapp-1.1.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.1/scm-webapp-1.1.war "wikilink")
### SCM-Server 1.0 (standalone)
- [scm-server-1.0-app.zip](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.0/scm-server-1.0-app.zip "wikilink")
- [scm-server-1.0-app.tar.gz](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-server/1.0/scm-server-1.0-app.tar.gz "wikilink")
### SCM-WebApp 1.0 (Web application archive)
- [scm-webapp-1.0.war](http://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-webapp/1.0/scm-webapp-1.0.war "wikilink")

View File

@@ -0,0 +1,14 @@
Download latest Snapshot release
--------------------------------
### SCM-Server 1.61 SNAPSHOT (standalone)
- [scm-server](https://repository-scm-manager.forge.cloudbees.com/snapshot/sonia/scm/scm-server/1.61-SNAPSHOT/ "wikilink")
### SCM-WebApp 1.61 SNAPSHOT (Web application archive)
- [scm-webapp](https://repository-scm-manager.forge.cloudbees.com/snapshot/sonia/scm/scm-webapp/1.61-SNAPSHOT "wikilink")
### SCM-Cli-Client 1.61 SNAPSHOT (Java application archive)
- [scm-cli-client](https://repository-scm-manager.forge.cloudbees.com/snapshot/sonia/scm/clients/scm-cli-client/1.61-SNAPSHOT/ "wikilink")

4
docs/download.md Normal file
View File

@@ -0,0 +1,4 @@
Download
--------
The download page has moved to <http://www.scm-manager.org/download/>

69
docs/faq.md Normal file
View File

@@ -0,0 +1,69 @@
FAQ
---
### What are the username and the password in the default installation?
Username: scmadmin
Password: scmadmin
### Where does SCM-Manager store its configuration, log files and the repositories?
SCM-Manager stores the complete data in a directory called .scm (the
SCM-Manager home directory). This directory is located in the home
directory of the user which is the owner of the process. Except for [rpm
and
deb](https://bitbucket.org/sdorra/scm-manager/wiki/RPM%20and%20DEB%20packages "wikilink")
installations, for those installations the home directory is located at
/var/lib/scm.
=== How can I change the SCM-Manager home directory? You could change
the SCM-Manager home directory in a few ways:
- Edit the scm.properties (WEB-INF/classes) file and add the path to
your folder f.e. scm.home=/var/scm
- Set an environment variable SCM\_HOME with the path of your
directory
- Start your application server with a java property called scm.home
f.e. -Dscm.home=/var/scm
### Can I create a directory structure for scm-manager repositories?
Yes, since version 1.9 you can create directory structures. You can just
use a \"/\" in the name of the repository to create the structure. For
example the repositories Project/module-1, Project/module-2 and
OtherProject/module-1 will result in the following structure.
For more information have a look at
<https://bitbucket.org/sdorra/scm-manager/issue/47/support-for-directory-structure>.
### After creation of a new public repository I am trying to clone it anonymously, but I got request of user and password. What am I doing wrong?
You have to enabled \"Allow Anonymous Access\" at Config-\>General.
### Where does SCM-Manager stores it log files?
SCM-Manager stores the log files in a directory called \"logs\" which is
located in the home directory (see question \"Where does SCM-Manager
store its configuration, log files and the repositories?\").
### How do I enable trace logging?
Edit scm-server/conf/logging.xml change the line from:
to:
If you are using the war version with an application server such as
tomcat, you have to edit the logback.xml in WEB-INF/classes.
### How do I install plugins?
Select Config-\>Plugins. This is supposed to show you a list of all
available plugins to install. It is not a place to configure existing
plugins. Install Package does not take you to the install screen\... If
you only see the installed plugins, see the next question.
### Why don\'t I see any installable plugins on the plugin tab?
Is the SCM-Manager server behind a proxy server? Then you have to
configure your proxyserver at Config-\>General.

54
docs/getting-started.md Normal file
View File

@@ -0,0 +1,54 @@
Getting started
---------------
### Install Java
SCM-Manager needs an installed Java 1.7 or newer. It is recommended to
use the [oracle jre](http://java.oracle.com/ "wikilink"). How to check
which version of Java is installed:
### Install the latest version of Java
Download java from [here](http://java.oracle.com/ "wikilink") and follow
the install instructions.
### Install SCM-Manager
Download the latest version of SCM-Manager from
[here](http://www.scm-manager.org/download/ "wikilink"), unpack the .zip
or .tar.gz package and start SCM-Manager with
### First access
\|=URL\|<http://localhost:8080>\| \|=Username\|scmadmin\|
\|=Password\|scmadmin\|
### Mercurial
Subversion and Git will work out of the box, but if you want to use
mercurial with SCM-Manager you have to install mercurial version
\*\*1.9\*\* or newer.
#### Mercurial on Windows
The installation of mercurial for SCM-Manager is very complicated on
windows, have a look at:
- <https://bitbucket.org/sdorra/scm-manager/issue/1/no-ability-to-rename-repository>
- <https://groups.google.com/d/msg/scmmanager/zOigMIn2RiE/xeFcruG70s8J>
- <https://bitbucket.org/sdorra/build-win-hg-packages>
SCM-Manager comes with the option to install packages for windows to
simplify this setup. To use such a package just login as Administrator,
goto \"Repository Types\", click the \"Start Configuration Wizard\" and
Choose \"Download and install\".
If you see an error like the following:
Then you have to install [Microsoft Visual C++ 2008 SP1 Redistributable
Package
(x86)](http://www.microsoft.com/en-us/download/details.aspx?id=5582 "wikilink").
Note you have to use the x86 package and not the x64 package, because we
use 32bit python in SCM-Manager on Windows. For more informations have a
look at
[\#522](https://bitbucket.org/sdorra/scm-manager/issue/552/hg-repo-creation-failed "wikilink").

15
docs/glassfish.md Normal file
View File

@@ -0,0 +1,15 @@
SCM-Manager with GlassFish
--------------------------
To use SCM-Manager 1.6 and above with GlassFish 3.x you have to add a
JVM-Option to the GlassFish configuration. Please follow the steps
below.
Open the GlassFish Admin-Console (http://yourserver:4848), login as
admin user, goto Configuration-\>JVM Settings, switch to the JVM Options
tab and add the following JVM-Option:
Restart the GlassFish-Server.
Source:
<http://jersey.java.net/nonav/documentation/latest/glassfish.html>

View File

@@ -0,0 +1,23 @@
# Incompatible subversion db format #
SCM-Manager versions prior to 1.36 are creating incompatible subversion repositories, if the subversion option "with 1.7 Compatible" is enabled. This subversion repositories are neither compatible with svn 1.7 nor svn 1.8. These repositories are marked as unhealthy by SCM-Manager version 1.36 and above.
This incompatible repositories must be converted, before they can be used with SCM-Manager 1.36 and above. Note the convert process can take some time and need some space, because it creates a backup for each converted repository. Follow the steps below to convert all incompatible subversion repositories of one SCM-Manager instance.
* stop SCM-Manager
* create a full backup of your scm home directory
* download the convert util from [here](https://maven.scm-manager.org/nexus/content/repositories/releases/sonia/scm/scm-fixsvndb5-cli/1.0.1/scm-fixsvndb5-cli-1.0.1-jar-with-dependencies.jar)
* execute the convert util with your scm home directory as parameter e.g.:
```
#!bash
java -jar scm-fixsvndb5-cli-1.0.1-jar-with-dependencies.jar /path/to/.scm
```
* start SCM-Manager
For more informations have a look at:
* [Issue #519](https://bitbucket.org/sdorra/scm-manager/issue/519/default-svn-repository-format-setting)
* [Subversion release notes](https://subversion.apache.org/docs/release-notes/1.7.html#revprop-packing)

View File

@@ -0,0 +1,34 @@
How to create your own plugin
-----------------------------
### Software Requirements
- JDK 1.7 or higher
([download](http://www.oracle.com/technetwork/java/index.html "wikilink"))
- Maven 3 or higher ([download](http://maven.apache.org/ "wikilink"))
### Create plugin
### Test the plugin
### Samples
- [Hello
World](https://bitbucket.org/sdorra/scm-manager/src/1.x/scm-samples/scm-sample-hello/ "wikilink")
- [Authentication
Plugin](https://bitbucket.org/sdorra/scm-manager/src/1.x/scm-samples/scm-sample-auth/ "wikilink")
### Further reading
- [Injection framework - Google
Guice](http://code.google.com/p/google-guice/ "wikilink")
- [Restful WebService -
Jersey](http://jersey.java.net/nonav/documentation/latest/user-guide.html "wikilink")
- [ XML transformation - JAXB](http://jaxb.java.net/guide/ "wikilink")
- [User interface - Ext
JS](http://www.sencha.com/products/extjs3/ "wikilink")
### Questions/Help
If you have questions or you need help, please write to the mailing
list: <https://groups.google.com/forum/#!forum/scmmanager>

25
docs/injectionObjects.md Normal file
View File

@@ -0,0 +1,25 @@
Injection Objects
-----------------
- [AdministrationContext](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AdministrationContext.html "wikilink")
- [AuthenticationManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AuthenticationManager.html "wikilink")
- [CGIExecutorFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/cgi/CGIExecutorFactory.html "wikilink")
- [CacheManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/cache/CacheManager.html "wikilink")
- [ChangesetViewerUtil](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/ChangesetViewerUtil.html "wikilink")
- [CipherHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/security/CipherHandler.html "wikilink")
- [EncryptionHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/security/EncryptionHandler.html "wikilink")
- [FileSystem](http://docs.scm-manager.org/apidocs/latest/sonia/scm/io/FileSystem.html "wikilink")
- [GroupManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/group/GroupManager.html "wikilink")
- [HttpClient](http://docs.scm-manager.org/apidocs/latest/sonia/scm/net/HttpClient.html "wikilink")
- [HttpServletRequest](http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html "wikilink")
- [HttpServletResponse](http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletResponse.html "wikilink")
- [HttpSession](http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpSession.html "wikilink")
- [KeyGenerator](http://docs.scm-manager.org/apidocs/latest/sonia/scm/security/KeyGenerator.html "wikilink")
- [RepositoryBrowserUtil](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryBrowserUtil.html "wikilink")
- [RepositoryManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryManager.html "wikilink")
- [
RepositoryRequestListenerUtil](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryRequestListenerUtil.html "wikilink")
- [ScmConfiguration](http://docs.scm-manager.org/apidocs/latest/sonia/scm/config/ScmConfiguration.html "wikilink")
- [StoreFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/store/StoreFactory.html "wikilink")
- [UserManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/user/UserManager.html "wikilink")
- [WebSecurityContext](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/WebSecurityContext.html "wikilink")

29
docs/java-client-api.md Normal file
View File

@@ -0,0 +1,29 @@
Java Client API
---------------
### Maven
To use the SCM-Manager Java Client API you have to configure the
SCM-Manager maven repository in your pom.xml:
And you have to define the dependency to the api and one implementation:
### Usage
First you have to create a session to your SCM-Manager instance:
After you have successfully created a client session you can nearly
execute every action which is available from the web interface. But do
not forget to close the session after you have finished your work:
### Examples
Create a new repository:
Get the last 20 commits of a repository:
Print the content of a file in a repository:
Create a new user:
Add a user to an existing group:

57
docs/jenkins-plugin.md Normal file
View File

@@ -0,0 +1,57 @@
scm-jenkins-plugin
------------------
The jenkins plugin will ping your Jenkins CI server when a new commit is
pushed to SCM-Manager. In SCM-Manager exists two differnt methods to
trigger jenkins builds.
### Per repository configuration
The \"per repository configuration\" method requires a configuration for
each repository. The following parameters must be configured:
- The url of the jenkins server inclusive the context path e.g.:
<http://ci.scm-manager.org:8080/jenkins>
- The name of the jenkins job
- Jenkins trigger authentication token
- Username of the jenkins user. This option is only required if your
jenkins job does not allow anonymous access
- API Token of the jenkins user. This token is used for
authentication. You could get your API Token from your jenkins
server at
<http://yourjenkinsserver/contextpath/user/username/configure>
Note for this setup the jenkins job have to be configured for remote
trigger (Trigger builds remotely).
### Global configuration
The global configuration has only support for git and mercurial. If you
want to use the jenkins plugin with subversion repositories, you have to
use the \"per repository configuration\". The global configuration
method uses push notifications from the git-plugin and mercurial-plugin
for jenkins. SCM-Manager will send the url of the changed repository
after each successful push, jenkins will build each repository which
this scm url and enabled polling.
To use the \"global configuration\" method, you have to note a few
things:
- You have to insert the url to your jenkins server
(Config-\>General-\>Jenkins Configuration-\>Url) the url must
conatin the context path of jenkins e.g.:
<http://ci.scm-manager.org:8080/jenkins>.
- Be sure the base url contains the full qualified hostname to your
scm-manager server (Config-\>General-\>General Settings-\>Base Url).
- All jenkins repositories have to be configured for polling (the
interval does not matter, a good value would be once a day).
- If you are using \"Matrix based security\" on jenkins, be sure you
use at least version 1.43 of the mercurial-plugin for jenkins.
#### Links
- <http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/>
- <https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin>
- <https://wiki.jenkins-ci.org/display/JENKINS/Mercurial+Plugin>
- <https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin>
- <https://github.com/jenkinsci/mercurial-plugin/pull/32>

48
docs/jira-plugin.md Normal file
View File

@@ -0,0 +1,48 @@
scm-jira-plugin
---------------
The plugin enables the following features to integrate Atlassian JIRA to
SCM-Manager:
- Turn issue keys in changeset descriptions to links for jira
- Updates a Jira issue if the issue key is found in a changeset
description
- Close a Jira issue if the issue key and a auto close (close, fix,
resolve, \...) word is found in the changeset description
### Installation and configuration
1. Enable remote api calls in jira
(https://developer.atlassian.com/display/JIRADEV/JIRA+XML-RPC+Overview)
2. Install scm-jira-plugin over the plugin center in scm-manager
3. Be sure that your jira installation accepts remote calls
([Screenshot](screenshots/scm-jira-plugin/jira-plugin-01.png "wikilink"))
4. Configure the plugin, select a repository to enable the
scm-jira-plugin for this repository
([Screenshot](screenshots/scm-jira-plugin/jira-plugin-02.png "wikilink"))
5. \*\*Note: \*\* For the auto close and update feature it is necessary
that users have the same names and passwords in SCM-Manager and Jira
### Auto Close Words (Since v. 1.17)
From version 1.17 the plugin offers the possibility of mapping auto
close words with transition that are configured in JIRA.
- Auto Close Words are a comma separated list
- Auto Close Words are not case sensitive
- Auto Close Words can contain spaces
- If the Auto Close Word is identical to the transition name, just add
the transition name to the list (e.g. transition name = start
progress \--\> Auto Close Word = start progress)
- If the Auto Close Word is different from the transition name you
have to use the mapping function (e.g. transition name = start
progress, Auto Close Word = begin \--\> you have to add \'begin =
start progress\' to the configuration of the plugin.
### Screenshots
[](screenshots/scm-jira-plugin/jira-plugin-01.png "wikilink")
[](screenshots/scm-jira-plugin/jira-plugin-02.png "wikilink")
[](screenshots/scm-jira-plugin/jira-plugin-03.png "wikilink")
[](screenshots/scm-jira-plugin/jira-plugin-04.png "wikilink")
[](screenshots/scm-jira-plugin/jira-plugin-05.png "wikilink")

View File

@@ -1,28 +0,0 @@
Copyright (c) 2010, Sebastian Sdorra
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of SCM-Manager; nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
http://bitbucket.org/sdorra/scm-manager

View File

@@ -1,34 +0,0 @@
<#if licenseFirst??>
${licenseFirst}*
</#if>
${licensePrefix}Copyright (c) 2010, Sebastian Sdorra
${licensePrefix}All rights reserved.
${licensePrefix}
${licensePrefix}Redistribution and use in source and binary forms, with or without
${licensePrefix}modification, are permitted provided that the following conditions are met:
${licensePrefix}
${licensePrefix}1. Redistributions of source code must retain the above copyright notice,
${licensePrefix} this list of conditions and the following disclaimer.
${licensePrefix}2. Redistributions in binary form must reproduce the above copyright notice,
${licensePrefix} this list of conditions and the following disclaimer in the documentation
${licensePrefix} and/or other materials provided with the distribution.
${licensePrefix}3. Neither the name of SCM-Manager; nor the names of its
${licensePrefix} contributors may be used to endorse or promote products derived from this
${licensePrefix} software without specific prior written permission.
${licensePrefix}
${licensePrefix}THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
${licensePrefix}AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
${licensePrefix}IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
${licensePrefix}DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
${licensePrefix}DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
${licensePrefix}(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
${licensePrefix}LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
${licensePrefix}ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
${licensePrefix}(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
${licensePrefix}SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
${licensePrefix}
${licensePrefix}http://bitbucket.org/sdorra/scm-manager
${licensePrefix}
<#if licenseLast??>
${licenseLast}
</#if>

View File

@@ -0,0 +1,28 @@
<#if licenseFirst??>
${licenseFirst}*
</#if>
${licensePrefix}MIT License
${licensePrefix}
${licensePrefix}Copyright (c) 2020-present Cloudogu GmbH and Contributors
${licensePrefix}
${licensePrefix}Permission is hereby granted, free of charge, to any person obtaining a copy
${licensePrefix}of this software and associated documentation files (the "Software"), to deal
${licensePrefix}in the Software without restriction, including without limitation the rights
${licensePrefix}to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
${licensePrefix}copies of the Software, and to permit persons to whom the Software is
${licensePrefix}furnished to do so, subject to the following conditions:
${licensePrefix}
${licensePrefix}The above copyright notice and this permission notice shall be included in all
${licensePrefix}copies or substantial portions of the Software.
${licensePrefix}
${licensePrefix}THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
${licensePrefix}IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
${licensePrefix}FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
${licensePrefix}AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
${licensePrefix}LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
${licensePrefix}OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
${licensePrefix}SOFTWARE.
${licensePrefix}
<#if licenseLast??>
${licenseLast}
</#if>

20
docs/mail-plugin.md Normal file
View File

@@ -0,0 +1,20 @@
scm-mail-plugin
===============
The mail plugin provides an central api for sending e-mails. This api
can be used by other plugins.
Configuration
-------------
The scm-mail-plugin provides a single place for the mail server
configurations at Config-\>General-\>Mail Settings.
API Usage
---------
First you have to add the dependency to your pom.xml e.g.:
But note you should use at least version 1.15 of scm-plugins as parent.
Now you can use the MailService class via injection e.g.:

9
docs/mantisbt-plugin.md Normal file
View File

@@ -0,0 +1,9 @@
== scm-mantisbt-plugin ==
The plugin enables the following features to integrate [MantisBT](https://www.mantisbt.org/) to SCM-Manager:
* Turn issue keys in changeset descriptions to links for MantisBT
* Updates a MantisBT issue if the issue key is found in a changeset description
* Change status of a MantisBT issue if the issue key and a status (e.g. resolved) word is found in the changeset description
**Note**: The issue keys must be defined with a 7 digit number (e.g. 0000001)

49
docs/nginx.md Normal file
View File

@@ -0,0 +1,49 @@
# SCM-Server and Nginx #
## Nginx configuration ##
```
#!text
location /scm {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://localhost:8080;
}
```
## SCM-Server conf/server-config.xml ##
Uncomment following line:
```
#!xml
<Set name="forwarded">true</Set>
```
Example:
```
#!xml
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="host">
<SystemProperty name="jetty.host" />
</Set>
<Set name="port">
<SystemProperty name="jetty.port" default="8080"/>
</Set>
<!-- for mod_proxy -->
<Set name="forwarded">true</Set>
</New>
</Arg>
</Call>
```
## SCM-Manager Configuration version 1.5 and above ##
* Login as an admin user and select "General"
* Set the "Base Url" to the URL of Nginx (**warning:** don't check "Force Base Url")
* Save the new new settings

33
docs/pathwp-plugin.md Normal file
View File

@@ -0,0 +1,33 @@
Path Write Protect Plugin
-------------------------
### Installation
- Login in as administrator
- Open Plugins
- Install scm-pathwp-plugin
- Restart your applicationserver
### Usage
After the restart you should see a \"Path write protect\" tab for each
repository. On this tab you are able to set path write protection for
users and groups. Here are some rules for the usage of the pathwp
plugin:
- Administrators and repository owner have always write access.
- Grant write permissions on the \"Permission\" tab for every user or
group who should write to any file or folder in the repository.
- If the pathwp plugin is enabled, nobody can write to the repository
expect administrators, repository owners and the specified rules.
- To protect a complete folder use a star at the end of the path
(e.g.: trunk/\*)
Examples
--------
\|=Path \|=Name \|=Group Permission \|=Description \| \| \* \| scmadmin
\| false \| user scmadmin has write access to the whole repository \| \|
trunk/\* \| development \| true \| group development has write access to
the trunk directory \| \| trunk/joe.txt \| joe \| false \| user joe has
write access to the file trunk/joe.txt \|

34
docs/plugin-descriptor.md Normal file
View File

@@ -0,0 +1,34 @@
Plugin Descriptor
-----------------
The plugin descriptor contains informations and instructions for the
scm-manager to integrate the plugin. The descriptor is located at
META-INF/scm/plugin.xml in the package of a plugin.
\|=Element \|=Description \|=Multiple \| \| plugin \| Root element of
the plugin descriptor \| \| \| plugin/condition \| Plugin condifitions
\| \| \| plugin/condition/arch \| Processor architecture (x86/amd64) \|
\| \| plugin/condition/min-version \| Minimum version of SCM-Manager \|
\| \| plugin/condition/os \| Operation System \| \| \|
plugin/condition/os/name \| Name of the Operating System \| X \| \|
plugin/information \| Contains informations of the plugin for the plugin
backend \| \| \| plugin/information/artifactId \| Maven artifact id \|
\| \| plugin/information/author \| The Author of the plugin \| \| \|
plugin/information/category \| Category of the plugin \| \| \|
plugin/information/description \| Description of the plugin \| \| \|
plugin/information/groupId \| Maven group id \| \| \|
plugin/information/name \| Name of the plugin \| \| \|
plugin/information/screenshots \| Contains screenshots of the plugin \|
\| \| plugin/information/screenshots/screenshot \| Single screenshot of
the plugin \| X \| \| plugin/information/url \| The url of the plugin
homepage \| \| \| plugin/information/version \| The current version of
the plugin \| \| \| plugin/information/wiki \| The url of a wiki page \|
\| \| plugin/packages \| Java packages which are being searched for
extensions \| \| \| plugin/packages/package \| Single Java packages
which is being searched for extensions \| X \| \| plugin/resources \|
Contains resources for the web interface (stylesheets and JavaScript
files) \| \| \| plugin/resources/script \| JavaScript file for the web
interface \| X \| \| plugin/resources/stylesheet \| Stylesheet for the
web interface \| X \|
Example of the plugin descriptor:

29
docs/redmine-plugin.md Normal file
View File

@@ -0,0 +1,29 @@
Redmine Plugin
--------------
Is based on
[scm-jira-plugin](https://bitbucket.org/sdorra/scm-manager/wiki/jira-plugin "wikilink")
The plugin enables the following features to integrate SCM-Manager to
[Redmine](http://www.redmine.org/ "wikilink"):
- Turn issue keys in changeset descriptions to links for redmine
- Updates a redmine issue if the issue key is found in a changeset
description
- Close a Redmine issue if the issue key and a auto close (close, fix,
resolve, \...) word is found in the changeset description
### Installation and configuration
1. Enable redmine rest authentication
(http://www.redmine.org/projects/redmine/wiki/Rest\_api, basically
\'you have to check Enable REST API in Administration -\> Settings
-\> Authentication\' )
2. Install redmine-plugin over the plugin center in scm-manager
3. Configure the plugin, select a repository to enable the
redmine-plugin for this repository
4. To link issues commit must be match the following: \'(\#issue\_id)
your commit message\'
5. \*\*Note: \*\* For the auto close and update feature it is necessary
that users have the same names and passwords in SCM-Manager and
Redmine

View File

@@ -0,0 +1,626 @@
SCM-Manager 1.19
----------------
- - improvements\*\*
- implement new template api which uses mustache as default engine
- display error on startup if home directory is not writable
- use cached thread pool for async hooks to improve memory consumption
- added support for jersey viewables
- do not show browser basic authentication dialog on session timeout
<!-- -->
- - fixed bugs\*\*
- fix npe on windows startup, see \<\<issue 226\>\>
<!-- -->
- - library updates\*\*
- update javahg to version 0.4
- update enunciate to version 1.26
SCM-Manager 1.18
----------------
- - improvements\*\*
- use javahg for mercurial commit, source, blame, content and diff
views
- support for tags in source view
- support for branches in commit view
- improve svnkit logging, see \<\<issue 211\>\>
- improve mercurial error messages, see \<\<issue 192\>\>
- allow configuration of mercurial repository encoding
- warn if plugin artifact checksum not match
<!-- -->
- - fixed bugs\*\*
- fix wrong cache result in blame command
- fix wrong escaped subversion commit messages, see \<\<issue 199\>\>
- fix wrong directory content in source browser, see \<\<issue 215\>\>
- fix missing error messages for some json stores
- fix missing localizations
- fix wrong unarchive message
- added missing dtd to server-config.xml
<!-- -->
- - library updates\*\*
- update ehcache to version 2.6.0
- update jetty to version 7.6.5.v20120716
- update google guava to version 13.0
- update jersey to version 1.13
SCM-Manager 1.17
----------------
- - improvements\*\*
- new repository api
- log scm-manager version on boot
- use copy on read for repository api caches to fix reference problems
with pre processor api
- added api for blame line pre processor
- added compatibility modes for svn 1.7, see \<\<issue 182\>\>
- added warning message if javascript is disabled, see \<\<issue
178\>\>
- fix ugly login error message, see \<\<issue 183\>\>
- Repository links should use relative paths, see \<\<issue 156\>\>
- Added locale and timezone to support informations
<!-- -->
- - fixed bugs\*\*
- fix detection of scm-server servlet container
- fix svn version informations
- fix mercurial version informations
- fix mercurial import with non valid mail address in contact field,
see \<\<issue 173\>\>
- disable ssl validation for mercurial hook detection, see \<\<issue
170\>\>
- fix basic authentication for systems with turkish locale, see
\<\<issue 195\>\>
<!-- -->
- - library updates\*\*
- update jgit to version 2.0.0.201206130900-r
- update svnkit to version 1.7.5-1
- update logback to version 1.0.6
- update slf4j to version 1.6.6
SCM-Manager 1.16
----------------
- - improvements\*\*
- improve mercurial hook error handling
- mercurial hook url auto detection
- cleanup empty directories during repository delete, see \<\<issue
154\>\>
- use urllib2 for urlopen to be more campatible to different python
versions, see \<\<issue 163\>\>
- redirect to repository root help when accessing repository type root
url, see \<\<issue 161\>\>
- Add a way to deactivate users, see \<\<issue 153\>\>
- small performance improvements
- store svn uuid as property on repository creation
- allow basic authentication for rest endpoint
/api/rest/authentication
- added api for store listeners
- added option to encode svn responses with gzip
<!-- -->
- - fixed bugs\*\*
- do not encode changeset author name, see \<\<issue 160\>\>
- pass shell environment to mercurial cgi process, see \<\<issue
155\>\>
- fix mercurial encoding problem on windows, see \<\<issue 139\>\>
- fix changing resource order for plugins
- fix repository name validation, see \<\<issue 148\>\>
<!-- -->
- - library updates\*\*
- update jetty to version 7.6.4.v20120524
- update logback to version 1.0.4
- update jersey-client to version 1.12
- update args4j to version 2.0.21
- update svnkit to version 1.7.4-1.v1
SCM-Manager 1.15
----------------
- - improvements\*\*
- added information page for service requests
- templates can be loaded from webapp context or classpath
- allow sourcing in /etc/default/scm-server when available, see
\<\<issue 145\>\>
- display user informations on the bottom of the page, see \<\<issue
146\>\>
- improve mercurial error messages, see \<\<issue 138\>\>
- improve logging for plugin loading
- added public and archived option to modify-repository sub command of
scm-cli-client
<!-- -->
- - fixed bugs\*\*
- disable jsvc arch call to fix wrong cpu problem on darwin i386
daemon
- fix wrong german localization, see \<\<issue 122\>\>
- fix build with jdk7
- fix bug in repository name validation, see \<\<issue 142\>\> and
\<\<issue 144\>\>
- fix subversion path not found on merge, see \<\<issue 136\>\>
- fix subversion lock results in NoSuchMethodError, see \<\<issue
130\>\>
- fix possible xss in Acitivities View, Repository Commits, see
\<\<issue 131\>\>
- fix plugin installation failed with enabled proxy server, see
\<\<issue 124\>\>
- fix wrong changeset url in ui url provider
<!-- -->
- - library updates\*\*
- update google guava to version 12.0
- update logback to version 1.0.3
SCM-Manager 1.14
----------------
- - improvements\*\*
- archive for repositories, see \<\<issue 42\>\>
- simpler api to create other backend as the default xml version
- api for overriding core components
- extensionpoint for ServletContextListener
- improved error dialog in user interface, see \<\<issue 107\>\>
- improve german locale
<!-- -->
- - fixed bugs\*\*
- fix wrong log messages
- fix repository creation failure leaves empty directory, see
\<\<issue 106\>\>
- fix mercurial repository source does not display with
subrepositories, see \<\<issue 104\>\>
- fix history repository selection
<!-- -->
- - library updates\*\*
- update jetty to version 7.6.3.v20120416
- update logback to version 1.0.1
- update ehcache to version 2.5.2
- update commons-daemon to version 1.0.10, see \<\<issue 103\>\>
SCM-Manager 1.13
----------------
- - improvements\*\*
- more robust python modules to access mercurial resources
- added disable option to each core plugin
<!-- -->
- - fixed bugs\*\*
- fix changing etags for collections
- fix missing hooks of mercurial repository import, see \<\<issue
97\>\>
- fix anonymous push to public mercurial repositories, see \<\<issue
97\>\>
- execute \"hg init\" in the scm home directory instead of current
working directory, see \<\<issue 97\>\>
- use repository directory as working directory for git repository
hooks, see \<\<issue 99\>\>
- do not fail on non basic authorization header
- fix mercurial encoding problem, see \<\<issue 95\>\>
- fix issue-94 can\'t edit users, see \<\<issue 94\>\>
<!-- -->
- - library updates\*\*
- update freemarker to version 2.3.19
- update jetty to version 7.6.1.v20120215
- update jgit to version 1.3.0.201202151440-r
- update jersey to version 1.12
SCM-Manager 1.12
----------------
- - improvements\*\*
- new theme
- support for mercurial 2.1
- import of existing repositories, see \<\<issue 59\>\>
- new changeset view
- show categories in plugin overview
- added api for project stages
- added api to fetch a single changeset
<!-- -->
- - fixed bugs\*\*
- allow usernames \< 3 chars, see pull request 2
- git: use author ident instead of commit ident
- fix plugin resource caching bug
- mercurial: fix getChangesets of post receive hooks
- fix history bug during repository selection
<!-- -->
- - library updates\*\*
- update jetty to version 7.6.0.v20120127
- update maven for aether to version 3.0.4
- update ehcache to version 2.5.1
SCM-Manager 1.11
----------------
- - improvements\*\*
- allow to fetch repositories by type and name
- added icon for tags
- show parent revision in changeset viewer
- added repository browser support for external git submodules
<!-- -->
- - fixed bugs\*\*
- fix wrong svn diff
- fix wrong revision for sub module repository browser
- fix basic authentication access with a colon in the user password,
see \<\<issue 88\>\>
- fix git hooks for repository structures
- fix subversion hooks on windows with repository structure
- fix mercurial hooks on windows with repository structure
- fix wrong mercurial revisions in urls
- fix svn hooks for repositories located on soft links
- fix bug in appendParameter method of UrlBuilder
- truncate long svn status lines, see \<\<issue 83\>\>
SCM-Manager 1.10
----------------
- - improvements\*\*
- small performance improvements
- added basic support for external mercurial subrepositories
- added repository request listener api
- added file object pre processor api
<!-- -->
- - fixed bugs\*\*
- fix vertical scrollbar in webkit based browsers
- fix mercurial push with symbolic links, see \<\<issue 82\>\>
- fix wrong decoding in hgweb, see \<\<issue 79\>\>
- fix plugin installation with a proxy server, see \<\<issue 76\>\>
- fix \"Allow anonymous access\" breaks access to private
repositories, see \<\<issue 77\>\>
<!-- -->
- - library updates\*\*
- update args4j to version 2.0.19
- update aether to version 1.13.1
- update jersey to version 1.11
- update jgit to version 1.2.0.201112221803-r
- update svnkit to version 1.3.7.1
SCM-Manager 1.9
---------------
- - improvements\*\*
- Support for directory structure, see \<\<issue 47\>\>
- Added webservice method to fetch repository by its type and name
- Mercurial auto configuration support for homebrew installations
- Improve httpclient api to support headers and authentication
- Reimplemented browser history functions
- SCM-Manager is now complete bookmark-able
- Added api to create urls for the interface or the webservice
- Improve interface performance by reducing Ext.getCmp calls
- Added history panel for a single file, see pull request 1
- Added wiki categories, wiki and screenshots to plugin descriptor
- Added version and server-version to scm-cli-client
- Improve performance by better repository caching
<!-- -->
- - fixed bugs\*\*
- fix bug in get method of repository resource
- fix issue \"Administrator flag is disabled after login\", see
\<\<issue 73\>\>
- Allow usernames with spaces, see \<\<issue 69\>\>
- fix rolling file policy of scm-manager logging
- fix mercurial hooks with configured force base url
- fix mercurial hooks with apache mod\_proxy, see \<\<issue 71\>\>
<!-- -->
- - library updates\*\*
- update jersey to version 1.10
- update slf4j to verion 1.6.4
- update logback to version 1.0.0
- update jetty to version 7.5.4.v20111024
SCM-Manager 1.8
---------------
- - improvements\*\*
- support for pre receive hooks, see \<\<issue 62\>\>
- scm-maven-plugin are now useable for integration tests
- added readme file to server bundles
- support for mercurial 1.9
- improve mercurial performance
- support for blame/annotation view, special thanks to narva.com
- support for Diff views of changesets
- added basic authentication support to restful webservice
- generate webservice documentation
- improve javadoc
- download for single files from repository
<!-- -->
- - fixed bugs\*\*
- Fixed bug in git repositories without head
<!-- -->
- - library updates\*\*
- update jetty to version 7.5.1.v20110908
- update aether to version 1.13
- update ehcache to version 2.4.5
- update logback to version 0.9.30
- update jgit to version 1.1.0.201109151100-r
- update jersey to version 1.9
SCM-Manager 1.7
---------------
- - improvements\*\*
<!-- -->
- added repository search and repository type filter to user
interface, see \<\<issue 48\>\>
- handle browser back and forward buttons
- improve output of mercurial hooks
- added injection support for authentication, group, repository, user
and hook listeners
- added cipher api
- select new repository after creation
- added option to configure the scm home directory with a classpath
resource, see \<\<issue 53\>\>
- support for proxyservers with authentication, see
[ko7eGU88rB4](https://groups.google.com/forum/#!topic/scmmanager/ko7eGU88rB4 "wikilink")
- improve changeset pre processor api
- improve support for repository, group and user properties
<!-- -->
- - fixed bugs\*\*
<!-- -->
- show installed plugins without internet connection, see \<\<issue
44\>\>
- fix git svn clone, see \<\<issue 45\>\>
- fix wron chanllenge bug in mercurial hook management
- fix jdk7 build bug
- fix a classloading problem in scmp:run maven goal
- fix bug in property xml serialization
<!-- -->
- - library updates\*\*
<!-- -->
- update ehcache to version 2.4.4
- update slf4j to version 1.6.2
- update junit to version 4.9
SCM-Manager 1.6
---------------
- - note\*\*
- GlassFish 3.x users have to change their GlassFish configuration,
see [SCM-Manager with GlassFish](glassfish "wikilink")
<!-- -->
- - improvements\*\*
- added an api for repository hooks
- support for git post-receive hook
- improved performance for source and commit viewer
- added loading mask of commit viewer
- added run as admin api
- improved validaton of user, group and repository names
- simplify plugin development
- added icons to member and permission grid
- added properties to repositories, users and groups
<!-- -->
- - fixed bugs\*\*
- fixed deployment bug on some tomcat configurations, \<\<issue 38\>\>
- fixed NullPointerException with empty git repositories, \<\<issue
36\>\>
- fixed source and commit browser for git repositories without HEAD
ref
- fixed missing updates in plugin overview
- fixed plugin update
- fixed xml representation of changeset webservice resource
- fixed error 500 in mercurial repository browser with configured
python path
<!-- -->
- - library updates\*\*
- upgraded jetty to version 7.4.5.v20110725
- upgraded wagon to version 1.0
- upgraded ehcache to version 2.4.3
- upgraded aether to version 1.12
SCM-Manager 1.5
---------------
- - note\*\*
- mod\_proxy users have to change their configuration, see [mod\_proxy
configuration](https://bitbucket.org/sdorra/scm-manager/wiki/apache/apache-mod_proxy "wikilink")
<!-- -->
- - improvements\*\*
- added a \"repositorybrowser\"
- added missing error messages on session timeout
- support for mod\_proxy forward with ssl, see \<\<issue 32\>\>
- added toolbar icons for add, remove and refresh action
<!-- -->
- - fixed bugs\*\*
- fixed javascript error on loginwindow cancelbutton click
- fixed bug with non default git repository directory, see \<\<issue
29\>\>
<!-- -->
- - library updates\*\*
- upgraded jersey to version 1.8
- upgraded jgit to version 1.0.0.201106090707-r
SCM-Manager 1.4
---------------
- - improvements\*\*
- support for IE 9
- using tabs for group details
<!-- -->
- - fixed bugs\*\*
- fixed svn move command, see \<\<issue 25\>\>
- fixed svn log command, see \<\<issue 25\>\>
<!-- -->
- - library updates\*\*
- upgraded jersey-ahc-client to version 1.0.2
- upgraded jersey-client to version 1.7
- upgraded logback to version 0.9.29
- upgraded extjs to version 3.4.0
SCM-Manager 1.3
---------------
- - improvements\*\*
- added a client api
- added a commandline client
- added support for proxy servers, see \<\<issue 14\>\>
- improved plugin page
- improved session timeout handling, see \<\<issue 23\>\>
- move logging configuration to \"conf\" folder of scm-server
<!-- -->
- - fixed bugs\*\*
- svn: fixed wrong content-length in DAVServlet, see \<\<issue 24\>\>
- svn: fixed wrong encoding, see \<\<issue 22\>\>
<!-- -->
- - library updates\*\*
- upgraded jetty to version 7.4.2.v20110526
- upgraded google guice to version 3.0
- upgraded ehcache to version 2.4.2
- upgraded freemarker to version 2.3.18
- upgraded jersey to version 1.7
SCM-Manager 1.2
---------------
- - improvements\*\*
- added a \"changesetviewer\"
- using tabs for repository configuration
- added a configuration wizard for mercurial
- the date format is now configurable
- added a repository information panel
- new cgi api
- added subversion compatibility switches, see \<\<issue 13\>\>
<!-- -->
- - fixed bugs\*\*
- fixed ssl support in scm-server, see \<\<issue 9\>\>
- fixed ssl support in mercurial cgi servlet, see \<\<issue 9\>\>
- fixed a browser window resize bug, see \<\<issue 10\>\>
- fixed bug with spaces in the scm home path, see \<\<issue 11\>\>
<!-- -->
- - library updates\*\*
- upgrade freemarker to version 2.3.16
- upgrade jersey to version 1.6
- upgrade ehcache to version 2.4.1
- upgrade jgit to version 0.12.1
SCM-Manager 1.1
---------------
- Support for Unix-Daemons and Windows-Services
- Support for localization
- German localization
- Help tooltips
- New Plugin-Backend

View File

@@ -0,0 +1,641 @@
SCM-Manager 1.39
----------------
- - improvements\*\*
- created rpm and deb packages for scm-server
- improve error handling of permission system
- set DefaultCGIExecutor logger level to debug instead of trace
- added tcpip dependency for scm-server windows service
- implemented health checks for mercurial and git repositories
- implemented marker interface for plugin class loaders to make it
easier to find class loader leaks
<!-- -->
- - fixed bugs\*\*
- fix mailto links
- fix automatic start as service on windows server 2012, see \<\<issue
\#349\>\>
- fix open webserver port \< 1024 as non privileged user
- encode user and group names for rest requests, see \<\<issue
\#591\>\>
- translate path for scmp plugin installation, see \<\<issue \#586\>\>
- remove antiJARLocking attribute from context.xml, because it is no
longer supported by tomcat 8
- fix possible class loader leak
- fix IndentXMLStreamWriterTest on windows
- fix marshalling exception on plugin installation with rest api, see
\<\<issue \#578\>\>
<!-- -->
- - library updates\*\*
- update mustache to version 0.8.15
- update jgit to version 3.4.0.201406110918-r
- update commons-beanutils to version 1.9.2
- update commons-daemon to version 1.0.15
SCM-Manager 1.38
----------------
- - fixed bugs\*\*
- fix NoClassDefFoundError in scm-cli-client, see issue \<\<issue
\#576\>\>
- escape backslash in checkout url, see \<\<issue \#570\>\>
- fixed a circular guice dependency
- do not use subject \"run as\" for administration context, because it
could affect other threads
- fix a linkage error on Util.nonNull, see \<\<issue \#569\>\>
- fix wrong date format in logging configuration
SCM-Manager 1.37
----------------
- - improvements\*\*
- improved git error messages for failed authentication and not enough
permissions
- improve error handling for failed authentication and not enough
privileges
- added date to log pattern
- update last modified date of a repository after each push
- added hidden last modified column to repository grid
<!-- -->
- - fixed bugs\*\*
- resolve dependency resolution conflicts, see \<\<issue 541\>\>,
\<\<issue 549\>\> and \<\<issue 558\>\>
- fix basic authentication for urls which contain a username but
without password, see \<\<issue 545\>\>
- subversion repositories are not closed correctly, see \<\<issue
554\>\>
- use a more robust check if html5 localStorage is available, see
\<\<issue 548\>\>
- subversion cannot delete properties, see \<\<issue 547\>\>
<!-- -->
- - library updates\*\*
- update jetty to version 7.6.15.v20140411
- update svnkit to version 1.8.5-scm1
- update jgit to version 3.3.2.201404171909-r
- update logback to version 1.1.2
- update slf4j to version 1.7.7
- update commons-code to version 1.9
SCM-Manager 1.36
----------------
- - improvements\*\*
- added feature to set custom realm description, see [PR
16](https://bitbucket.org/sdorra/scm-manager/pull-request/16/add-feature-to-set-custom-realm "wikilink")
- added option to skip failed authenticators
- cli-client: allow retrieving repositories by using type/name instead
of repository id
- implemented repository health checks
<!-- -->
- - fixed bugs\*\*
- solve classloading issues for plugin classes
- fix changing passwords which a shorter than 5 chars, see issue
\<\<issue 535\>\>
- fix possible npe on authentication, see issue \<\<issue 531\>\>
- fix exception on login, if an external authenticator returns a
changed user object
- basic auth filter should return 403 instead of 401 for wrong
credentials, see issue \<\<issue 520\>\>
- fix bug with passwords which contains a colon, see \<\<issue 516\>\>
- fix double slash for append and getCompleteUrl of HttpUtil
- fix bug with some special chars in SearchUtil
- fix mercurial out of scope exception on startup
<!-- -->
- - library updates\*\*
- update args4j 2.0.26
- update svnkit to version 1.8.4-scm1
- update jgit to 3.3.0.201403021825-r
- update shiro to version 1.2.3
- update jersey to version 1.18.1
- update logback to version 1.1.1
- update slf4j to version 1.7.6
- update commons-beanutils to version 1.9.1
SCM-Manager 1.35
----------------
- - improvements\*\*
- Spanish translation, see [PR
9](https://bitbucket.org/sdorra/scm-manager/pull-request/9/spanish-translation "wikilink")
thanks to [Ángel L.
García](https://bitbucket.org/algarcia "wikilink")
- added auto-login filter system, see [PR
4](https://bitbucket.org/sdorra/scm-manager/pull-request/4/modifications-for-auto-login "wikilink")
thanks to [Clemens Rabe](https://bitbucket.org/seeraven "wikilink")
- added property to disable escaping for blame, browse, log command
and hooks, see \<\<issue 505\>\>
- remove cancel button on login window if anonymous access is
disabled, see \<\<issue 396\>\>
- syntax highlighting for c, h, hh and cc files, see [PR
11](https://bitbucket.org/sdorra/scm-manager/pull-request/11/c-java-extensions-added-to "wikilink")
thanks to [pankaj azad](https://bitbucket.org/pankajazad "wikilink")
- custom subversion collection renderer
- use full message instead of short message for git commits, see
\<\<issue 474\>\>
- improved german translation, see [PR
5](https://bitbucket.org/sdorra/scm-manager/pull-request/5/german-translation-adjusted/diff "wikilink")
thanks to [Ahmed Saad](https://bitbucket.org/saadous "wikilink")
- use same validation rules for user and group names, see \<\<issue
470\>\>
- added brushes for applescript and sass
<!-- -->
- - fixed bugs\*\*
- fixed file leak, see \<\<issue 500\>\>
- fixed double escaping, see \<\<issue 505\>\>
- fixed python path for scm mercurial packages, see \<\<issue 499\>\>
- remove setContentLength with -1 to fix CGI on jetty 9, see \<\<issue
481\>\>
- retry delete up to 5 sec to fix problem with windows locking, see
\<\<issue 476\>\>
- fix wrong commit and source url on git repositories with reverse
proxy, see \<\<issue 483\>\>
- use work directory instead of temp directory for scm-manager webapp,
see \<\<issue 464\>\>
- fix wrong sql brush filename, see \<\<issue 461\>\>
<!-- -->
- - library updates\*\*
- update jetty to 7.6.14.v20131031
- update jersey to 1.18
- update svnkit to 1.7.10-scm4
- update jgit to 3.2.0.201312181205-r
- update enunciate to 1.28
- update mustasche to 0.8.14
- update javahg to 0.7
SCM-Manager 1.34
----------------
- - improvements\*\*
- allow multi line mercurial messages
- change order of permission column and use a more robust cell editor
check
- added api for changing diff output format
- added support for glassfish 4, see \<\<issue 435\>\>
- added configuration changed event
- implement login attempt handler to handle failed authentications
<!-- -->
- - fixed bugs\*\*
- fix bug with user events and decorated user managers
- fix hg push fails with \'URLError\' object has no attribute
\'read\', see \<\<issue 424\>\>
- fix CommandNotSupportedException for git outgoing command
- fix detection of non bare repositories as pull source
- fix scm behind reverse proxy on root: svn not working, see \<\<issue
436\>\>
- fix permission caching for logged in users
- fix possible npe with unpacked war files, see \<\<issue 440\>\>
- fix escaping bug in SearchUtil, see \<\<issue 441\>\>
- avoid duplicate members in groups, see \<\<issue 439\>\>
- fix store and load method of xml configuration entry store
- fix out of scope exception on access hgcontext, see \<\<issue
451\>\>
<!-- -->
- - library updates\*\*
- update jetty to 7.6.13.v20130916
- update guava to version 15.0
SCM-Manager 1.33
----------------
- - improvements\*\*
- added api to bypass changeset pre processors during hook
- added api to send messages back to scm client during hook
- create scm-client-impl jar with all dependencies
- introduce Event annotation to mark event classes which are
receiveable over the event system
<!-- -->
- - fixed bugs\*\*
- fix login window scrollbars on linux with firefox 21, see \<\<issue
411\>\>
- fix name resolution for git repositories with working copy, see
\<\<issue 415\>\>
- fix handling of \"svn lock\", see \<\<issue 420\>\>
- fix handling of \"svn copy\", see \<\<issue 422\>\>
- clear authorization cache, when a group has changed, see \<\<issue
423\>\>
- fix wrong svn hook error messages
- fix wrong sytem account e-mails, use scm-manager.org instead of
scm-manager.com
- implement svn cat during pre receive repository hooks
- fix handling of pending changesets during pre receive repository
hooks
<!-- -->
- - library updates\*\*
- update jgit to 3.0.0.201306101825-r
- update args4j to version 2.0.25
- update freemarker to version 2.3.20
- update enunciate to version 1.27
- update ehcache to version 2.6.6
- update to svnkit 1.7.10-scm3
- update mustache to version 0.8.13
SCM-Manager 1.32
----------------
- - improvements\*\*
- added support for subversion 1.8 and ra\_serf (\<\<issue 222\>\>,
\<\<issue 406\>\>)
- added detection eclipse jetty (standalone) to
ServletContainerDetector (pull request 3)
<!-- -->
- - fixed bugs\*\*
- fix loading of cache configurations from plugins
- resolve conflicts for plugins and plugin dependencies
- fix parsing of security.xml on older jre\'s (\<\<issue 405\>\>)
- fix source, commit, etc. views of mercurial on systems were the home
directory is not writable (\<\<issue 398\>\>)
- fix wrong python path on mercurial homebrew installations
SCM-Manager 1.31
----------------
- - improvements\*\*
- added first access url and credentials to readme
- option to assign global access permissions to users and groups
(\<\<issue 340\>\>)
- store api for multiple configuration entries
- added group for all authenticated users
- implementation of a remember me system (\<\<issue 384\>\>)
- implment incoming, outgoing, push and pull command for git and
mercurial
- display repository access permissions on info panel (\<\<issue
364\>\>))
- improve plugin archetype and use version 1.23 of scm-manager as
parent
- create and deploy package for rest documentation
<!-- -->
- - fixed bugs\*\*
- fix wrong message for deleting repositories (\<\<issue 370\>\>)
- fix button handling on repository grid with enabled archive mode
(\<\<issue 372\>\>)
- fix missing git index view (\<\<issue 377\>\>)
- ignore global proxy settings for mercurial callback hooks (\<\<issue
376\>\>)
- fix registration of synchronous event handlers
- fix classpath generation with manually installed plugins (\<\<issue
395\>\>)
- fix daemon mode on some operating systems (\<\<issue 397\>\>)
<!-- -->
- - library updates\*\*
- update logback to version 1.0.13
- update svnkit to version 1.7.9-scm1
- update jetty to 7.6.11.v20130520
- update web-compressor to version 1.5
- update mustache to version 0.8.12
- update javahg to version 0.6
- update apache shiro to version 1.2.2
SCM-Manager 1.30
----------------
- - fixed bugs\*\*
- fix missing copy strategy in guava cache configuration
SCM-Manager 1.29
----------------
- - improvements\*\*
- use guava as default cache implementation (\<\<issue 345\>\>)
- merge cache configuration from default location, config directory
and plugins (\<\<issue 345\>\>)
- create a copy of tag collections to reduce memory on caching
(\<\<issue 345\>\>)
- added configuration for authorization cache (\<\<issue 345\>\>)
- default authentication handler should always be the first in the
authentication chain
- improve logging of BootstrapUtil
- implemented a child first plugin classloader strategy
- use template engine and repository service for git repository page
(\<\<issue 341\>\>)
<!-- -->
- - fixed bugs\*\*
- synchronize getCache method of cache manager implementations
(\<\<issue 345\>\>)
- create a copy of search result collection to reduce memory of caches
(\<\<issue 345\>\>)
- send mercurial hook error messages to client (\<\<issue 333\>\>)
- use content type text/html for mercurial error messages, if the
client accept it (\<\<issue 336\>\>)
- scm-svn-plugin does not handle modified paths on pre-receive hooks
(\<\<issue 353\>\>)
- use a initial capacity of one for subversion hook changesets
- fix wrong handling of git file hooks (\<\<issue 339\>\>)
- sonia.scm.net.HttpRequest.appendValues() adds parameter values twice
(\<\<issue 342\>\>)
<!-- -->
- - library updates\*\*
- update ehcache to version 2.6.5
- update jersey to version 1.17.1
- update guava to version 14.0.1
- update logback to version 1.0.11
- update slf4j to version 1.7.5
- update mustache to version 0.8.11
- update jgit to version 2.3.1.201302201838-r
- update maven-aether-provider to version 3.0.5
SCM-Manager 1.28
----------------
- - improvements\*\*
- added scm.home example for windows, see \<\<issue 328\>\>
- disable directory listings on default scm-server configuration
- respect subscriber annotation on event bus registration
- register every injectable object to event bus
- enable tab scrolling for repository setting tabs
- use async cache for scm realm
- improve manager exception handling
<!-- -->
- - fixed bugs\*\*
- fix path traversal vulnerability in git changelog api, see \<\<issue
319\>\>
- fix possible crlf injections, see \<\<issue 320\>\>
- fix admin access vulnerability in user repository creation, see
\<\<issue 331\>\>
- fix circular proxy error on binding
- protect mustache resources
- fix eager singleton loading
SCM-Manager 1.27
----------------
- - improvements\*\*
- exclude commons-logging and use jcl-over-slf4j instead
- icons of repository browser should be clickable
- post authentication events to the new event system
<!-- -->
- - fixed bugs\*\*
- fix binding of extensions with eager singleton scope
- fix bug with registration of multiple authentication listeners
- fix localStorage detection for ie 6 and 7
- fix hover links for ie \>= 8, see \<\<issue 317\>\>
SCM-Manager 1.26
----------------
- - improvements\*\*
- use localStorage to store state of the user interface
- improve logging of plugin installer
- find and bind extension points automatically
- added option to disable the last commit for browse command
- added recursive option to browse command
- added option to disable sub repository detection of browse command
<!-- -->
- - fixed bugs\*\*
- normalize urls for BaseUrlFilter to prevent redirect loops, see
\<\<issue 311\>\>
- fix privileged action is not executed, if the user is already an
admin
- added missing id for security navigation section
- synchronize getChangeset method of hook events and call registered
pre processors before the changesets are returned to hook
<!-- -->
- - library updates\*\*
- update jersey to version 1.17
SCM-Manager 1.25
----------------
- - improvements\*\*
- added feature api for specific repository types
- improve logging of plugin installer
<!-- -->
- - fixed bugs\*\*
- fix svn make and put with Polish characters in path, see \<\<issue
298\>\>
- fix bookmarkable support for ie, see \<\<issue 297\>\>
- call ui repository open listener, no matter which permission the
user has
- fix IllegalArgumentException with nested privileged actions
- fix installing plugin package breaks classpath.xml, see \<\<issue
306\>\>
<!-- -->
- - library updates\*\*
- update svnkit to version 1.7.8-scm1
- update ehcache to version 2.6.3
- update mustache to version 0.8.9
- update jgit to version 2.2.0.201212191850-r
- update enunciate to version 1.26.2
SCM-Manager 1.24
----------------
- - fixed bugs\*\*
- fix wrong default date format
SCM-Manager 1.23
----------------
- - improvements\*\*
- new event api based on guavas EventBus
- added option to exclude hosts from proxy, see \<\<issue 281\>\>
- set name for different Threads to simplify debugging
- added eager singleton scope for injection
- added blob store api, to store unstructured data
- added data store api, to store structured data
- added decorator api for manager objets
- use moment.js to format dates in ui
- use javahg to retrieve changesets from a mercurial hook
- prepare server-config.xml for request logging
- improve javadoc
<!-- -->
- - fixed bugs\*\*
- use system environment when executing \"hg create\"
- fix build from source, see \<\<issue 289\>\>
- svn mergeinfo returns wrong results, see \<\<issue 280\>\>
- svn diff fails if the path contains spaces, see \<\<issue 282\>\>
and \<\<issue 290\>\>
- BasicPropertiesAware should be implement Serializable
- changeset.id for mercurial changesets should always return a
complete node id, \<\<issue 287\>\>
- fix mercurial sub repository detection in source browser
- fix non closing client response
<!-- -->
- - library updates\*\*
- update selenium to version 2.28.0
- update svnkit to version 1.7.6-scm3
- update logback to version 1.0.9
- update junit to 4.11
- update jetty to version 7.6.8.v20121106
- update ehcache to version 2.6.2
- update javahg to version 0.5
- update jersey to version 1.16
SCM-Manager 1.22
----------------
- - improvements\*\*
- store expanded/collapsed state of groupingviews across sessions, see
\<\<issue 268\>\>
- added favicon and new logo
- added method to read templates from a reader
- added repository type icons to grid
<!-- -->
- - fixed bugs\*\*
- fix permission autocomplete, see \<\<issue 267\>\>
<!-- -->
- - library updates\*\*
- update mustache.java to version 0.8.8
- update mockito to version 1.9.5
SCM-Manager 1.21
----------------
- - improvements\*\*
- reimplment the complete security model on top of apache shiro
- allow execution of administration tasks without an active http
session
- use shorter repository ids
- added option to install plugin packages
- added option to display mercurial revisions as part of the node id,
see \<\<issue 251\>\>
- improve performance and memory consumption of svn log command
- do not log sensitive cgi env variables
<!-- -->
- - fixed bugs\*\*
- fix freezing configuration form on ie, see \<\<issue 236\>\>
- fix wrong branch informations of git repository hooks, \<\<issue
242\>\> and \<\<issue 235\>\>
- fix bug in history of subversion repositories
- fix wrong mercurial changeset ids during hooks
<!-- -->
- - library updates\*\*
- update google guava to version 13.0.1
- update jetty to version 7.6.7.v20120910
- update jersey to version 1.14
- update args4j to version 2.0.22
- update jgit to 2.1.0.201209190230-r
- update enunciate to version 1.26.1
- update mustache to version 0.8.7
- update slf4j to version 1.7.2
SCM-Manager 1.20
----------------
- - improvements\*\*
- added java.awt.headless system property to server startup scripts
- strip changeset ids to 12 chars
- use eternal caches for new repository api
- added placeholder to commit view
<!-- -->
- - fixed bugs\*\*
- fix non closing \"hg serve\" processes
- fix error on changing branches in commit viewer
- fix wrong file modifications on git changeset overview
<!-- -->
- - library updates\*\*
- update logback to version 1.0.7
[Release 1.19 -
1.0](https://bitbucket.org/sdorra/scm-manager/wiki/release%20notes%201.19%20-%201.0 "wikilink")

530
docs/release-notes.md Normal file
View File

@@ -0,0 +1,530 @@
- - note\*\*
- Versions prior to 1.36 are creating incompatible subversion
repositories, if the subversion option \"with 1.7 Compatible\" is
enabled. [read
more](https://bitbucket.org/sdorra/scm-manager/wiki/healthchecks/svn-incompatible-dbformat "wikilink")
- since version 1.18 scm-manager requires mercurial 1.9 or newer
- since version 1.49 Java 7 or newer is required
- version 1.58 and 1.59 are not working on java 7, but version 1.60
restored java 7 support
- java 9 and 10 are supported since 1.60
SCM-Manager 1.60
----------------
- - fixed bugs\*\*
- restored java 7 compatibility (broken since 1.58), see \<\<issue
972\>\> and \<\<issue 982\>\>
- fixed build on java 9
- fixed execution on java 9 and 10
<!-- -->
- - improvements\*\*
- encrypt cli configuration with aes instead of pbe, see \<\<issue
979\>\> and \<\<issue 978\>\>
<!-- -->
- - library updates\*\*
- update commons-daemon to version 1.1.0
SCM-Manager 1.59
----------------
- - fixed bugs\*\*
- mercurial: fix hgweb execution for mercurial versions prior 4.1, see
[\#976](https://bitbucket.org/sdorra/scm-manager/issues/976/issue-with-158-and-mercurial "wikilink")
- mercurial: make {extras} work on old versions of Hg, see [PR
\#41](https://bitbucket.org/sdorra/scm-manager/pull-requests/41/make-extras-work-on-old-versions-of-hg/diff "wikilink")
and
[\#971](https://bitbucket.org/sdorra/scm-manager/issues/971/commit-listening-requires-at-least "wikilink")
SCM-Manager 1.58
----------------
- - improvements\*\*
- mercurial: support for httppostargs protocol, see \<\<issue 970\>\>
- mercurial: prevent
[CVE-2018-1000132](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-1000132 "wikilink"),
see \<\<issue 970\>\>
- mercurial: dded option to disable ssl validation for scm hooks, see
\<\<issue 959\>\>
- removed never released scm-dao-orientdb module
<!-- -->
- - library updates\*\*
- update javahg to 0.13
- update commons-beanutils to 1.9.3
- update commons-collections to 3.2.2
- update httpclient to 4.5.5
- update slf4j to 1.7.25
- update logback to 1.2.3
- update jackson to 1.9.13
- update apache shiro to version 1.3.2
- update from sonatype aether to eclipse aether version 1.1.0
SCM-Manager 1.57
----------------
- - improvements\*\*
- treat update of a git tag as delete and create for hooks
<!-- -->
- - fixed bugs\*\*
- fixed handling of resources with spaces in its id, see \<\<issue
965\>\>
<!-- -->
- - library updates\*\*
- update svnkit to version 1.9.0-scm3
SCM-Manager 1.56
----------------
- - fixed bugs\*\*
- fixed high cpu load after subversion client connection abort, see
\<\<issue 939\>\>
- fix integer overflow of request with body larger than 4gb, see
\<\<issue 953\>\>
SCM-Manager 1.55
----------------
- - improvements\*\*
- added option to disallow non fast-forward git pushes
<!-- -->
- - fixed bugs\*\*
- fixes usage of named cache configurations, see \<\<issue 943\>\>
- fixed update of git repositories with empty git default branch, see
issue \<\<issue 903\>\>
- remove work directory after package upgrade, see \<\<issue 923\>\>
- prevent binary data in mercurial {extras} from interfering with
UTF-8 decoding, see
[\#PR-39](https://bitbucket.org/sdorra/scm-manager/pull-requests/39 "wikilink")
<!-- -->
- - library updates\*\*
- update jgit to version v4.5.3.201708160445-r-scm1
- update svnkit to version 1.9.0-scm1
SCM-Manager 1.54
----------------
- - improvements\*\*
- added experimetal support for git-lfs,
[\#PR-27](https://bitbucket.org/sdorra/scm-manager/pull-requests/27 "wikilink")
- improve git client detection to include jgit
- git repositories are now accessible with the \".git\" suffix
<!-- -->
- - fixed bugs\*\*
- fix repository browsing with mercurial 4.x
- fixing test execution on german / windows machines
<!-- -->
- - library updates\*\*
- update jgit to v4.5.2.201704071617-r-scm1
- update javahg to 0.8-scm1
- update jetty to version 1.19.4
- update jetty to version 7.6.21.v20160908
SCM-Manager 1.53
----------------
- - fixed bugs\*\*
- fix jax-rs classpath conflict, see \<\<issue 916\>\>
<!-- -->
- - library updates\*\*
- update nativepkg-maven-plugin to version 1.1.4
SCM-Manager 1.52
----------------
- - improvements\*\*
- added support for gtld email domains, see \<\<issue 909\>\>
- improved performance by creating an adapter between scm and shiro
caches, see \<\<issue 781\>\>
- improved rest api documentation, see
<https://docs.scm-manager.org/restdocs/1.52/>
<!-- -->
- - library updates\*\*
- update svnkit to version 1.8.15-scm1
- update enunciate to version 2.9.1
SCM-Manager 1.51
----------------
- - improvements\*\*
- update svnkit to version 1.8.14-scm1 in order to support subversion
1.9 new fsfs repository format, see \<\<issue 858\>\>
<!-- -->
- - fixed bugs\*\*
- fix wrong subversion urls behind a reverse proxy, see \<\<issue
889\>\>
- svn: fix wrong error message during commit on a locked file, see
\<\<issue 897\>\>
- fix wrong key usage during encoding in DefaultCipherHandler, see
\<\<issue 887\>\>
<!-- -->
- - library updates\*\*
- update jersey to version 1.19.3
- update slf4j to version 1.7.22
- update logback to version 1.1.10
- updated jgit v4.5.0.201609210915-r-scm1
- fix wrong subversion urls behind a reverse proxy, see \<\<issue
889\>\>
SCM-Manager 1.50
----------------
- - improvements\*\*
- added reusable components for branch and tag combo boxes
- option to define default branch for git repositories \<\<issue
873\>\>
- added primary principal as request attribute to allow subject
logging for access logs, see \<\<issue 877\>\>
- treat HEAD, OPTIONS and TRACE as mercurial read requests not only
GET, see issue \<\<issue 859\>\>
- added new hook context api for tags
<!-- -->
- - fixed bugs\*\*
- send http status code 401 unauthorized on failed git authentication,
see issue \<\<issue 870\>\>
- fix npe when GitHookBranchProvider tries to collect a tag as branch,
see issue \<\<issue 865\>\>
SCM-Manager 1.49
----------------
- - improvements\*\*
- reduce event bus logging
- added RepositoryHookITCase to test repository post receive hooks
<!-- -->
- - fixed bugs\*\*
- escape url parameters ub UrlBuilder in order to fix \<\<issue
847\>\>
- assign revision field in constructor FileObjectWrapper, fix
\<\<issue 846\>\>
- IE: Web Interface Only Showing Border and no Login Prompt, see
\<\<issue 844\>\>
- fix guice javadoc link
<!-- -->
- - library updates\*\*
- update apache shiro to version 1.3.0
- updated jgit 4.4.0.201606070830-r-scm1, see \<\<issue 848\>\>
<!-- -->
- - breaking changes\*\*
- SCM-Manager 1.49 requires at least Java 7
SCM-Manager 1.48
----------------
- - improvements\*\*
- added request uri to mdc logging context
- added request method to mdc filter
- log authorization summary to trace level
- improve logging of AuthorizationCollector
- improved authorization cache invalidation
- improve modification events to pass the item before it was modified
to the subscriber
<!-- -->
- - fixed bugs\*\*
- fixed bug in equals method of Permission object
- fixed syntax highlight for bash/sh, see issue \<\<issue 843\>\>
- added missing name of repository to access denied exceptions
<!-- -->
- - library updates\*\*
- update apache shiro to version 1.2.5
SCM-Manager 1.47
----------------
- - improvements\*\*
- added implmentation for running git gc in an configurable interval,
see \<\<issue 801\>\>
- implemented small scheduler engine
- focus same repository tab as was selected previously, see \<\<issue
828\>\>
- added experimental XSRF protection, see \<\<issue 793\>\>
- Add Jetty host interface variable. Allows to run a specific
interface or locahost instead of just all interfaces.
- added option for plugins to change ssl context
- case insensitive sorting the of name column, see
[\#PR-25](https://bitbucket.org/sdorra/scm-manager/pull-requests/25/case-insensitive-sorting-of-the-name "wikilink")
<!-- -->
- - fixed bugs\*\*
- removed broken maven repositories
- do not swallow the ScmSecurityException in PermissionFilter
- fix order of script resources in production stage, see \<\<issue
809\>\>
- JsonContentTransformer should not fail on unknown json properties
- getCompleteUrl of HttpUtil should now respect forwarding headers,
see issue \<\<issue 748\>\>
- fix wrong file permissions as mentioned in \<\<issue 766\>\>
- update commons-daemon-native to version 1.0.15.1 to fix scm-server
start on macos
<!-- -->
- - library updates\*\*
- update enunciate to version 1.31
- update jetty to version 7.6.19.v20160209
- update jersey to version 1.19.1
- update logback to version 1.1.7
- update slf4j to version 1.7.21
- update shiro to version 1.2.4
SCM-Manager 1.46
----------------
- - improvements\*\*
- link modification to files on commit panel, see \<\<issue 356\>\>
- added to branch switcher to repository browser, see \<\<issue
355\>\>
- expose latest changeset id of branch in rest api
- use cached thread pool to process mercurial process error streams
- new advanced http client, see \<\<issue 709\>\>
<!-- -->
- - fixed bugs\*\*
- fix rendering of bottom toolbar in repository browser, if path is
null
- do not show error message for syntax highliting on txt and cs files,
see \<\<issue 731\>\>
- fix a bug in git submodule detection
- fix wrong uft-8 filenames on raw download, see \<\<issue 697\>\>
- fix missing separator char for post values with same name in http
client api
- set content-length header on post requests, see \<\<issue 701\>\>
<!-- -->
- - library updates\*\*
- update enunciate to version 1.30.1
- update jgit to version 3.7.1.201504261725-r-scm1
- update logback to version 1.1.3
- update slf4j to version 1.7.12
SCM-Manager 1.45
----------------
- - improvements\*\*
- improve remove repository confirmation dialog
- introducing HookBranchProvider to get informations about changed
branches during a hook, see \<\<issue 668\>\>
- return a changeset property for closed mercurial branches
- avoid receiving duplicate git commits, during a push with multiple
new branches
- retrieve only new git commits, do not collect commits from existing
branches, see \<\<issue \#663\>\>
- usability of init script improved.
<!-- -->
- - fixed bugs\*\*
- added missing shebang statement in create user script, see \<\<issue
665\>\>
- increase timeout for directory import from 30 seconds to 5 minutes,
to fix \<\<issue \#662\>\>
- fixed basic authentication with non ascii passwords, see \<\<issue
627\>\>
<!-- -->
- - library updates\*\*
- update jersey to version 1.19
- update slf4j to version 1.7.10
SCM-Manager 1.44
----------------
- - library updates\*\*
- update jgit to version 3.5.3.201412180710-r in order to fix
[CVE-2014-9390](http://article.gmane.org/gmane.linux.kernel/1853266 "wikilink")
- update jersey to version 1.18.3
- update slf4j to version 1.7.9
SCM-Manager 1.43
----------------
- - improvements\*\*
- new repository import wizard
- added support for remote urls to push and pull apis (implemented by
git and hg)
- added api for bundle/unbundle command to repository apis
(implemented by svn)
- implemented AdvancedImportHandler which gives more control over the
import result than ImportHandler
<!-- -->
- - fixed bugs\*\*
- create default accounts only, if no other user exists in the dao
- do not try to convert git changesets from a receive command of type
delete, see \<\<issue 634\>\>
- added utf-8 response encoding for git quick commit view,
[\#PR-17](https://bitbucket.org/sdorra/scm-manager/pull-request/17/utf-8-response-encoding-for-git-quick "wikilink")
- load advanced plugin configuration from plugin directory and from
root of scm home
- fix wrong changeset count for git push and pull commands
<!-- -->
- - library updates\*\*
- update jersey to version 1.18.2
SCM-Manager 1.42
----------------
- - improvements\*\*
- added comment about POODLE vulnerability to https configuration
- added extension point for HttpSessionListener
- implement util class for AutoLoginModules to mark request as
completed or send redirects from an AutoLoginModule
<!-- -->
- - fixed bugs\*\*
- use base uri from request for git quick repository view, see
\<\<issue 631\>\>
<!-- -->
- - library updates\*\*
- update mustache to version 0.8.17
- update mockito to version 1.10.8
SCM-Manager 1.41
----------------
- - improvements\*\*
- improve performance for simple subversion changeset paging, see
\<\<issue 610\>\>
- added cli sub command to generate unique keys
- added cli sub command to encrypt passwords
- added mdc logging variables username, client\_ip and client\_host
- use default jersey client implementation instead of ahc
<!-- -->
- - fixed bugs\*\*
- subversion fails to commit filenames containing url-encoded
character \"/\", see \<\<issue 606\>\>
- fix some missing file extensions for syntax highlighter
- fix scm-server stop method on windows, see \<\<issue 623\>\>
<!-- -->
- - library updates\*\*
- update jetty to version 7.6.16.v20140903
- update jgit to version 3.4.1.201406201815-r
- update mustache to version 0.8.16
- update svnkit to version 1.8.5-scm2
SCM-Manager 1.40
----------------
- - improvements\*\*
- added display name to web.xml
<!-- -->
- - fixed bugs\*\*
- remove url parameters before building base url
- fixed wrong directory permissions on rpm installations
- fixed missing preinstall scripts in rpm and deb packages
<!-- -->
- - library updates\*\*
- update args4j to version 2.0.28
[Release 1.39 -
1.20](https://bitbucket.org/sdorra/scm-manager/wiki/release%20notes%201.39%20-%201.20 "wikilink")

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,10 @@
Revision Control Plugin Comparison
----------------------------------
\|=Plugin Name \|=Name \|=Core-Plugin \|=Requirements \|=Url \| \|
scm-svn-plugin \| Subversion \| X \| \| <http://subversion.apache.org>
\| \| scm-git-plugin \| Git \| X \| \| <http://git-scm.com> \| \|
scm-hg-plugin \| Mercurial \| X \| [Python (v.
2.6)](http://www.python.org/getit/releases/2.6 "wikilink"), Mercurial \|
<https://www.mercurial-scm.org/> \| \| scm-bzr-plugin \| Bazaar \| \|
Python, Bazaar \| <http://bazaar.canonical.com> \|

96
docs/scheduler-plugin.md Normal file
View File

@@ -0,0 +1,96 @@
# scm-scheduler-plugin #
The scheduler plugin provides an api for other plugins to execute scheduled jobs. The plugin is based on the [quartz project](http://quartz-scheduler.org/).
## Configuration ##
The plugin needs no further configuration.
## API Usage ##
First you have to add the dependency to your pom.xml e.g.:
```
#!xml
<dependency>
<groupId>sonia.scm.plugins</groupId>
<artifactId>scm-scheduler-plugin</artifactId>
<version>1.0</version>
</dependency>
```
But note you should use at least version 1.22 of scm-plugins as parent for your plugin.
Now you can get a [SchedulerFactory](http://www.quartz-scheduler.org/api/2.0.0/org/quartz/SchedulerFactory.html) via injection.
For Example:
```
#!java
public class ReportHandler {
private final SchedulerFactory schedulerFactory;
@Inject
public ReportContextListener(SchedulerFactory schedulerFactory){
this.schedulerFactory = schedulerFactory;
}
}
```
With the SchedulerFactory [SchedulerFactory](http://www.quartz-scheduler.org/api/2.0.0/org/quartz/SchedulerFactory.html) you can schedule [Jobs](http://www.quartz-scheduler.org/api/2.0.0/org/quartz/Job.html). To simplify the steps to schedule a job, the scm-scheduler-plugin comes with a helper class called Schedulers.
### Notes ###
* Schedulers must always be executed by an administrator or in an administrative context. Jobs which are executed by a scheduler are executed with administrator privileges.
* Each job is able to get dependencies via injection.
### Further reading ###
* [Quartz Overview](http://www.quartz-scheduler.org/overview)
* [Quartz Cron Trigger](http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger)
* [Quartz Examples](http://www.quartz-scheduler.org/documentation/quartz-2.1.x/examples)
### Complete Example ###
In the following example a ReportJob is executed every minute since the start of scm-manager.
```
#!java
@Extension
public class ReportContextListener implements ServletContextListener {
private final AdministrationContext adminContext;
private final SchedulerFactory schedulerFactory;
@Inject
public ReportContextListener(AdministrationContext adminContext,
SchedulerFactory schedulerFactory){
this.adminContext = adminContext;
this.schedulerFactory = schedulerFactory;
}
@Override
public void contextDestroyed(ServletContextEvent sce) {}
@Override
public void contextInitialized(ServletContextEvent sce){
Schedulers.schedule(adminContext, schedulerFactory,
SimpleScheduleBuilder.repeatMinutelyForever(), ReportJob.class);
}
private static class ReportJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// do something minutely
System.out.println(new Date());
}
}
}
```

62
docs/scm-plugins.md Normal file
View File

@@ -0,0 +1,62 @@
Plugins
-------
### Authentication
\|=Plugin Name \|=Description \|=Core-Plugin \|=Repository \| \|
scm-activedirectory-auth-plugin \| Plugin for using Active Directory as
an authentication handler. Currently only supports running on Windows in
a 32-bit JVM. \| \|
<https://bitbucket.org/davidmc24/scm-activedirectory-auth-plugin> \| \|
scm-auth-ldap-plugin \| Plugin for using LDAP as an authentication
handler. \| \| <https://bitbucket.org/tludewig/scm-auth-ldap-plugin> \|
\| scm-pam-plugin \| This plugin enables PAM-Authentication for
SCM-Manager. \| \| <https://bitbucket.org/sdorra/scm-pam-plugin> \| \|
scm-crowd-plugin \| Plugin for using Atlassian Crowd as an
authentication handler. \| \|
<https://github.com/soudmaijer/scm-crowd-plugin> \|
### Continuous Integration
\|=Plugin Name \|=Description \|=Core-Plugin \|=Repository \| \|
scm-bamboo-plugin \| Post receive hook for Atlassian Bamboo. \| \|
<https://github.com/soudmaijer/scm-bamboo-plugin> \| \|
scm-jenkins-plugin \| This plugin will ping your Jenkins CI server when
a new commit is pushed to SCM-Manager. \| \|
<https://bitbucket.org/sdorra/scm-jenkins-plugin> \|
### Development
\|=Plugin Name \|=Description \|=Core-Plugin \|=Repository \| \|
scm-graph-plugin \| Creates a Google Guice injection graph. \| \|
<https://bitbucket.org/sdorra/scm-graph-plugin> \|
### Issue-Tracking
\|=Plugin Name \|=Description \|=Core-Plugin \|=Repository \| \|
scm-jira-plugin \| This plugin integrates Atlassian JIRA to SCM-Manager.
\| \| <https://bitbucket.org/sdorra/scm-jira-plugin> \|
### Miscellaneous
\|=Plugin Name \|=Description \|=Core-Plugin \|=Repository \| \|
scm-activity-plugin \| Shows the latest activity from your repositories.
\|\| <https://bitbucket.org/sdorra/scm-activity-plugin> \| \|
scm-gravatar-plugin \| Gravatar icons for the changesetviewer. \| \|
<https://bitbucket.org/sdorra/scm-gravatar-plugin> \| \|
scm-pathwp-plugin \| This plugin adds path write protection for
repositories. \|\| <https://bitbucket.org/sdorra/scm-pathwp-plugin> \|
\| scm-userrepo-plugin \| This plugin allows regular users to create
repositories. \|\| <https://bitbucket.org/sdorra/scm-userrepo-plugin> \|
### Version Control Systems
\|=Plugin Name \|=Description \|=Core-Plugin \|=Repository \| \|
scm-hg-plugin \| Support for the version control system Mercurial. \| X
\| <https://bitbucket.org/sdorra/scm-manager> \| \| scm-git-plugin \|
Support for the version control system Git. \| X \|
<https://bitbucket.org/sdorra/scm-manager> \| \| scm-svn-plugin \|
Support for the version control system Subversion. \| X \|
<https://bitbucket.org/sdorra/scm-manager> \| \| scm-bzr-plugin \|
Support for the version control system Bazaar. \| \|
<https://bitbucket.org/sdorra/scm-bzr-plugin> \|

40
docs/scm-server-ssl.md Normal file
View File

@@ -0,0 +1,40 @@
SCM-Server SSL
--------------
- - Note\*\*: This document describes a ssl configuration with a
self-signed certificate
1\. Open a shell and go to the conf directory of the scm-server
2\. Create a certificate request. Replace all variables (\*varname\*)
- - Note:\*\* You have to enter the full qualified hostname of your
server for the cn (cn = What is your first and last name?)
3\. Edit the server-config.xml, uncomment the SSL-Connector and set your
password. For example:
4\. Start or restart the scm-server
- - Note\*\*: It looks like there is a error in some version of
OpenJDK (issues \#84 and \#151). If you have such a problem,
please try to use the Oracle JDK.
### Configure Git
1\. Export the certificate from keystore:
2\. Copy the certificate to your client and add it to your git config:
### Configure Mercurial
1\. Export the certificate from keystore:
2\. Copy the certificate to your client and add it to your .hgrc config
file:
### Sources
- [Keytool](http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html "wikilink")
- [Jetty
SSL-Connectors](http://wiki.eclipse.org/Jetty/Reference/SSL_Connectors "wikilink")

43
docs/screens.md Normal file
View File

@@ -0,0 +1,43 @@
Screenshots
-----------
<http://www.scm-manager.org/screenshots/>
Screenshots pre 1.12
--------------------
\|{{/sdorra/scm-manager/wiki/screenshots/login.thumb.png\|Login}}\|
{{/sdorra/scm-manager/wiki/screenshots/change-password.thumb.png\|Change
Password}} \|
{{/sdorra/scm-manager/wiki/screenshots/repository-config.thumb.png\|Repository
Config}} \|
\|[Login](/sdorra/scm-manager/wiki/screenshots/login.png "wikilink") \|
[Change
Password](/sdorra/scm-manager/wiki/screenshots/change-password.png "wikilink")
\| [Repository
Configuration](/sdorra/scm-manager/wiki/screenshots/repository-config.png "wikilink")
\|
\|{{/sdorra/scm-manager/wiki/screenshots/repository-details.thumb.png\|Repository
details}}\|
{{/sdorra/scm-manager/wiki/screenshots/repository-overview.thumb.png\|Repository
Overview}} \|
{{/sdorra/scm-manager/wiki/screenshots/user-overview.thumb.png\|User
Overview}} \| \|[Repository
details](/sdorra/scm-manager/wiki/screenshots/repository-details.png "wikilink")
\| [Repository
Overview](/sdorra/scm-manager/wiki/screenshots/repository-overview.png "wikilink")
\| [User
Overview](/sdorra/scm-manager/wiki/screenshots/user-overview.png "wikilink")
\|
\|{{/sdorra/scm-manager/wiki/screenshots/plugin-overview.thumb.png\|Plugin
Overview}}\|
{{/sdorra/scm-manager/wiki/screenshots/mercurial-wizard.thumb.png\|Mercurial
Configuration Wizard}} \|
{{/sdorra/scm-manager/wiki/screenshots/changesetviewer-gravatar-plugin.thumb.png\|Changesetviewer
(with Gravatar Plugin)}} \| \|[Plugin
Overview](/sdorra/scm-manager/wiki/screenshots/plugin-overview.png "wikilink")\|
[Mercurial Configuration
Wizard](/sdorra/scm-manager/wiki/screenshots/mercurial-wizard.png "wikilink")
\| [Changesetviewer (with Gravatar
Plugin)](/sdorra/scm-manager/wiki/screenshots/changesetviewer-gravatar-plugin.png "wikilink")
\|

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
docs/screenshots/login.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Some files were not shown because too many files have changed in this diff Show More