mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-10-26 08:06:09 +01:00
Correct migration of old documentation
This commit is contained in:
42
README.md
42
README.md
@@ -7,38 +7,38 @@
|
||||
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
|
||||
- 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
|
||||
- **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/)
|
||||
- **2018-05-04** - SCM-Manager 1.60 released
|
||||
([download](http://www.scm-manager.org/download/) \|
|
||||
[release notes](release-notes.md))
|
||||
- **2018-04-11** - SCM-Manager 1.59 released
|
||||
|
||||
[All news](http://www.scm-manager.org/news/ "wikilink")
|
||||
[All news](http://www.scm-manager.org/news/)
|
||||
|
||||
## Mailing List
|
||||
|
||||
- <scmmanager@googlegroups.com> -
|
||||
[archive](http://groups.google.com/group/scmmanager "wikilink") \|
|
||||
[subscribe](mailto:scmmanager+subscribe@googlegroups.com "wikilink")
|
||||
[archive](http://groups.google.com/group/scmmanager) \|
|
||||
[subscribe](mailto:scmmanager+subscribe@googlegroups.com)
|
||||
\|
|
||||
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com "wikilink")
|
||||
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com)
|
||||
|
||||
## Documentation
|
||||
You can find the complete documentation in the [docs/](docs/Home.md) directory.
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# Definition of Done
|
||||
|
||||
* 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/))
|
||||
@@ -6,4 +8,4 @@
|
||||
* 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
|
||||
* Documentation is updated whenever necessary
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
ExtensionPoints
|
||||
---------------
|
||||
# Extension Points
|
||||
|
||||
- [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")
|
||||
- [AuthenticationHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AuthenticationHandler.html)
|
||||
- [AuthenticationListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AuthenticationListener.html)
|
||||
- [ChangesetPreProcessor](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/ChangesetPreProcessor.html)
|
||||
- [ChangesetPreProcessorFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/ChangesetPreProcessorFactory.html)
|
||||
- [FileObjectPreProcessor](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/FileObjectPreProcessor.html)
|
||||
- [FileObjectPreProcessorFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/FileObjectPreProcessorFactory.html)
|
||||
- [FileSystem](http://docs.scm-manager.org/apidocs/latest/sonia/scm/io/FileSystem.html)
|
||||
- [GroupListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/group/GroupListener.html)
|
||||
- [Module](http://google-guice.googlecode.com/svn/tags/3.0/javadoc/com/google/inject/Module.html)
|
||||
- [RepositoryHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryHandler.html)
|
||||
- [RepositoryHook](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryHook.html)
|
||||
- [RepositoryListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryListener.html)
|
||||
- [RepositoryRequestListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryRequestListener.html)
|
||||
- [ResourceHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/resources/ResourceHandler.html)
|
||||
- [ServletModule](http://google-guice.googlecode.com/svn/tags/3.0/javadoc/com/google/inject/servlet/ServletModule.html)
|
||||
- [UserListener](http://docs.scm-manager.org/apidocs/latest/sonia/scm/user/UserListener.html)
|
||||
|
||||
171
docs/Home.md
171
docs/Home.md
@@ -1,118 +1,103 @@
|
||||
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
|
||||
- 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-,
|
||||
- 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
|
||||
- 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
|
||||
- **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/)
|
||||
- **2018-05-04** - SCM-Manager 1.60 released ([download](http://www.scm-manager.org/download/) \|
|
||||
[release notes](release-notes.md))
|
||||
- **2018-04-11** - SCM-Manager 1.59 released
|
||||
|
||||
[All news](http://www.scm-manager.org/news/ "wikilink")
|
||||
[All news](http://www.scm-manager.org/news/)
|
||||
|
||||
### Mailing List
|
||||
|
||||
- <scmmanager@googlegroups.com> -
|
||||
[archive](http://groups.google.com/group/scmmanager "wikilink") \|
|
||||
[subscribe](mailto:scmmanager+subscribe@googlegroups.com "wikilink")
|
||||
- <scmmanager@googlegroups.com> -
|
||||
[archive](http://groups.google.com/group/scmmanager) \|
|
||||
[subscribe](mailto:scmmanager+subscribe@googlegroups.com)
|
||||
\|
|
||||
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com "wikilink")
|
||||
[unsubscribe](mailto:scmmanager+unsubscribe@googlegroups.com)
|
||||
|
||||
### 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")
|
||||
- [Getting started](getting-started.md)
|
||||
- [Download latest version](http://www.scm-manager.org/download/)
|
||||
- [Frequently Asked Questions](faq.md)
|
||||
- [Upgrade SCM-Manager to a newer version](upgrade.md)
|
||||
- [Download latest snapshot release](download-snapshot-release.md)
|
||||
- [Download Archive](download-archive.md)
|
||||
- [Command line client](command-line-client.md)
|
||||
- [SCM-Server SSL](scm-server-ssl.md)
|
||||
- [ApplicationServer (Tomcat/Glassfish/Jetty)](applicationserver.md)
|
||||
- [Using SCM-Manager with Apache mod\_proxy](apache/apache-mod_proxy.md)
|
||||
- [Using SCM-Manager with Nginx](nginx.md)
|
||||
- [Using SCM-Manager with IIS (Helicon)](iis-helicon.md)
|
||||
- [Permissions](Permissions.md)
|
||||
- [Plugins](http://plugins.scm-manager.org/scm-plugin-backend/page/index.html)
|
||||
- [Revision Control Plugin Comparison](rv-plugin-comparison.md)
|
||||
- [Screenshots](http://www.scm-manager.org/screenshots/)
|
||||
- [Mercurial Subrepositories](subrepositories.md)
|
||||
- [Unix Daemons and Windows Services](daemons.md)
|
||||
- [RPM and DEB packages](RPM%20and%20DEB%20packages.md)
|
||||
- [Build windows mercurial packages for SCM-Manager](https://bitbucket.org/sdorra/build-win-hg-packages)
|
||||
|
||||
### 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")
|
||||
- [Active Directory Plugin](active-directory-plugin.md)
|
||||
- [Branch Write Protect Plugin](branchwp-plugin.md)
|
||||
- [Jenkins Plugin](jenkins-plugin.md)
|
||||
- [Jira Plugin](jira-plugin.md)
|
||||
- [Mail Plugin](mail-plugin.md)
|
||||
- [Path Write Protect Plugin](pathwp-plugin.md)
|
||||
- [Redmine Plugin](redmine-plugin.md)
|
||||
- [Scheduler Plugin](scheduler-plugin.md)
|
||||
- [Trac Plugin](trac-plugin.md)
|
||||
- [WebHook Plugin](webhook-plugin.md)
|
||||
|
||||
### Development
|
||||
|
||||
- [Building SCM-Manager from source](build-from-source.md "wikilink")
|
||||
- [Java Client API](java-client-api.md "wikilink")
|
||||
- [Code Snippets](code-snippets.md "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")
|
||||
- [Building SCM-Manager from source](build-from-source.md)
|
||||
- [Java Client API](java-client-api.md)
|
||||
- [Code Snippets](code-snippets.md)
|
||||
- [Configuring Eclipse projects for SCM-Manager](configure-eclipse.md)
|
||||
- [Plugin Descriptor](plugin-descriptor.md)
|
||||
- [ExtensionPoints](ExtensionPoints.md)
|
||||
- [How to create your own plugin](howto-create-a-plugin.md)
|
||||
- [Injection Objects](injectionObjects.md)
|
||||
- [API documentation](http://docs.scm-manager.org/apidocs/latest/)
|
||||
- [WebService documentation](http://docs.scm-manager.org/restdocs/current/)
|
||||
|
||||
### 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")
|
||||
- [Configuration for Intellij IDEA](v2/intellij-idea-configuration.md)
|
||||
- [State of SCM-Manager 2 development](v2/State%20of%20SCM-Manager%202%20development.md)
|
||||
- [SCM v2 Test Cases](v2/SCMM-v2-Test-Cases.md)
|
||||
- [Table of decisions made during development](v2/Decision-Table.md)
|
||||
- [Definition of done](Definition%20of%20done.md)
|
||||
- [Style Guide](v2/style-guide.md)
|
||||
- [Error Handling in REST, Java, UI](v2/error-handling.md)
|
||||
- [Create a new Plugin](v2/Create%20a%20new%20Plugin.md)
|
||||
- [Migrate Plugin from v1](v2/Migrate%20Plugin%20from%20v1.md)
|
||||
- [Plugin Development](v2/Plugin%20Development.md)
|
||||
- [i18n for Plugins](v2/i18n%20for%20Plugins.md)
|
||||
- [Extension Points](v2/Extension-Points.md)
|
||||
- [API changes](v2/API%20changes.md)
|
||||
- [ui-components/ui-types](v2/UI%20Additions%20or%20Changes%20to%20ui-components%20or%20ui-types.md)
|
||||
- [Vulnerabilities](v2/vulnerabilities.md)
|
||||
- [Common pitfall](v2/Common%20pitfall.md)
|
||||
- [Release process](v2/Release%20process.md)
|
||||
- [Migration Wizard](v2/Migration-Wizard.md)
|
||||
- [Known Issues](v2/Known%20Issues.md)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# RPM and DEB packages
|
||||
|
||||
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
|
||||
@@ -17,8 +19,7 @@ The package will create a user and group which are called scm. The scm user will
|
||||
|
||||
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
|
||||
```text
|
||||
[scm-releases]
|
||||
name=SCM-Manager Releases
|
||||
baseurl=http://maven.scm-manager.org/nexus/content/repositories/releases
|
||||
@@ -33,9 +34,7 @@ type=rpm-md
|
||||
After file creation execute the following command to install scm-server:
|
||||
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
# install the scm-server package
|
||||
sudo yum install scm-server
|
||||
```
|
||||
@@ -44,9 +43,7 @@ sudo yum install scm-server
|
||||
|
||||
The DEB package is tested with Debian and Ubuntu. Execute the following commands to install scm-server:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
# add the scm-manager repository
|
||||
echo "echo 'deb http://maven.scm-manager.org/nexus/content/repositories/releases ./' >> /etc/apt/sources.list" | sudo sh
|
||||
|
||||
@@ -58,7 +55,6 @@ sudo apt-get update
|
||||
|
||||
# install scm-server
|
||||
sudo apt-get install scm-server
|
||||
|
||||
```
|
||||
|
||||
## Migration from ApplicationServer or Standalone version
|
||||
@@ -72,4 +68,4 @@ To migrate from an existing installation, you have to the following steps:
|
||||
* 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)
|
||||
* Start scm-server (/etc/init.d/scm-server start)
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# State of SCM-Manager 2 development
|
||||
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) ##
|
||||
## [Milestone 1](https://trello.com/b/oit1MD92/scm-manager-2-0-0-milestone-1)
|
||||
|
||||
### Main goals ###
|
||||
### 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)
|
||||
@@ -12,25 +13,25 @@ The development of SCM-Manager 2.0.0 is organised in [Trello Boards](https://tre
|
||||
* 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) ##
|
||||
## [Milestone 2](https://trello.com/b/Afb3hoJ9/scm-manager-2-0-0-milestone-2)
|
||||
|
||||
### Main goals ###
|
||||
### 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) ##
|
||||
## [Milestone 3](https://trello.com/b/eLvqTGGe/scm-manager-2-0-0-milestone-3)
|
||||
|
||||
### Main goals ###
|
||||
### Main goals
|
||||
* completely new designed rest api
|
||||
|
||||
## Milestone 4 ##
|
||||
## Milestone 4
|
||||
|
||||
### Main goals ###
|
||||
### Main goals
|
||||
* completely new user interface
|
||||
|
||||
## Milestone 5 ##
|
||||
## Milestone 5
|
||||
|
||||
### Main goals ###
|
||||
* improve repository api
|
||||
### Main goals
|
||||
* improve repository api
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
### 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
|
||||
- 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.
|
||||
**Note**: Since version 1.7 of the plugin 64bit is supported.
|
||||
|
||||
@@ -1,10 +1,34 @@
|
||||
SCM-Server and Apache mod\_jk
|
||||
-----------------------------
|
||||
# SCM-Server and Apache mod\_jk
|
||||
|
||||
### Apache Configuration
|
||||
```apache
|
||||
JkWorkersFile /etc/apache2/jkworkers.properties
|
||||
JkLogFile /var/log/apache2/mod_jk.log
|
||||
JkLogLevel info
|
||||
|
||||
JkMount /scm* worker1
|
||||
```
|
||||
|
||||
### JK Workers File (jkworkers.properties)
|
||||
```ini
|
||||
worker.list=worker1
|
||||
worker.worker1.type=ajp13
|
||||
worker.worker1.host=localhost
|
||||
worker.worker1.port=8009
|
||||
worker.worker1.lbfactor=50
|
||||
worker.worker1.cachesize=10
|
||||
worker.worker1.cache_timeout=600
|
||||
worker.worker1.socket_keepalive=1
|
||||
```
|
||||
|
||||
### SCM-Server conf/server-config.xml
|
||||
|
||||
Uncomment the following lines:
|
||||
```xml
|
||||
<Call name="addConnector">
|
||||
<Arg>
|
||||
<New class="org.eclipse.jetty.ajp.Ajp13SocketConnector">
|
||||
<Set name="port">8009</Set>
|
||||
</New>
|
||||
</Arg>
|
||||
</Call>
|
||||
```
|
||||
|
||||
@@ -1,31 +1,55 @@
|
||||
SCM-Server and Apache mod\_proxy
|
||||
--------------------------------
|
||||
# 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").
|
||||
```apache
|
||||
ProxyPass /scm http://localhost:8080/scm
|
||||
ProxyPassReverse /scm http://localhost:8080/scm
|
||||
ProxyPassReverse /scm http://servername:8080/scm
|
||||
<Location /scm>
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Location>
|
||||
```
|
||||
- **Warning**: Setting ProxyPassReverseCookiePath would most likely cause problems with session handling!
|
||||
- **Note**: If you encounter timeout problems, please have a look at [Apache Module mod_proxy#Workers](http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers).
|
||||
|
||||
### 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 ==
|
||||
Uncomment following line:
|
||||
```xml
|
||||
<Set name="forwarded">true</Set>
|
||||
```
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
@@ -1,47 +1,75 @@
|
||||
Tomcat
|
||||
------
|
||||
# Applicationserver
|
||||
|
||||
## 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.:
|
||||
|
||||
```xml
|
||||
<Connector port="8080" protocol="HTTP/1.1"
|
||||
connectionTimeout="20000"
|
||||
redirectPort="8443"
|
||||
maxHttpHeaderSize="16384" />
|
||||
```
|
||||
|
||||
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).
|
||||
**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](https://github.com/scm-manager/scm-manager/issues/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).
|
||||
```xml
|
||||
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
||||
prefix="localhost_access_log" suffix=".txt"
|
||||
pattern="%h %l %u %{principal}r %t "%r" %s %b" />
|
||||
```
|
||||
|
||||
GlassFish
|
||||
---------
|
||||
The pattern **%{principal}r** is responsible for logging the
|
||||
username to the access log (see issue [#877](https://github.com/scm-manager/scm-manager/issues/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").
|
||||
```bash
|
||||
# override jax-rs packages
|
||||
$ bin/asadmin create-jvm-options -Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext
|
||||
# increase http header size
|
||||
$ bin/asadmin set configs.config.default-config.network-config.protocols.protocol.http-listener-1.http.header-buffer-length-bytes=16384
|
||||
$ bin/asadmin set configs.config.default-config.network-config.protocols.protocol.http-listener-2.http.header-buffer-length-bytes=16384
|
||||
```
|
||||
|
||||
**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 "Exception deploying to Glassfish 3.1.2").
|
||||
|
||||
Restart the GlassFish-Server.
|
||||
|
||||
Source:
|
||||
<http://jersey.java.net/nonav/documentation/latest/glassfish.html>
|
||||
Source: <http://jersey.java.net/nonav/documentation/latest/glassfish.html>
|
||||
|
||||
Jetty
|
||||
-----
|
||||
## 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:
|
||||
|
||||
```xml
|
||||
<Call name="addConnector">
|
||||
<Arg>
|
||||
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
|
||||
[...]
|
||||
<Set name='headerBufferSize'>32768</Set>
|
||||
</New>
|
||||
</Arg>
|
||||
</Call>
|
||||
```
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
Branch Write Protect Plugin
|
||||
---------------------------
|
||||
# Branch Write Protect Plugin
|
||||
|
||||
### Installation
|
||||
|
||||
@@ -26,7 +25,7 @@ plugin:
|
||||
|
||||
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").
|
||||
[pathwp-plugin](http://plugins.scm-manager.org/scm-plugin-backend/page/detail/sonia.scm.plugins/scm-pathwp-plugin.html).
|
||||
|
||||
Since version 1.2 of the plugin it is possible to define deny
|
||||
permissions and placeholders for branch names. Deny permissions are
|
||||
@@ -38,5 +37,4 @@ following placeholders are available:
|
||||
user
|
||||
|
||||
### Known issues
|
||||
|
||||
- <https://bitbucket.org/sdorra/scm-manager/issue/235/branchwp-plugin-can-not-use-on-git>
|
||||
- [#235](https://github.com/scm-manager/scm-manager/issues/235 "branchwp plugin can not use on git")
|
||||
|
||||
@@ -1,35 +1,40 @@
|
||||
Building SCM-Manager from source
|
||||
--------------------------------
|
||||
# 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"))
|
||||
- JDK 1.7 or higher
|
||||
([download](http://www.oracle.com/technetwork/java/index.html))
|
||||
- Maven 3 or higher ([download](http://maven.apache.org/))
|
||||
- Mercurial ([download](https://www.mercurial-scm.org/))
|
||||
|
||||
### 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.
|
||||
```bash
|
||||
hg clone https://bitbucket.org/sdorra/scm-manager
|
||||
cd scm-manager
|
||||
hg update 1.x
|
||||
mvn clean install
|
||||
```
|
||||
|
||||
**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\*\*.
|
||||
**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>.
|
||||
You can also start a dev server using `mvn jetty:run-war -f
|
||||
scm-webapp`. SCM-Manager 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
|
||||
- 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
|
||||
`scmadmin` user. Then you can access the REST api directly
|
||||
<http://localhost:8081/scm/api/rest>
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
Code Snippets
|
||||
-------------
|
||||
# Code Snippets
|
||||
|
||||
### User Interface
|
||||
|
||||
- [extend navigation](snippet-extend-navigation.md "wikilink")
|
||||
- [add tab to repository configuration](snippet-repository-tab.md "wikilink")
|
||||
- [extend global configuration](snippet-config-group.md "wikilink")
|
||||
- [extend navigation](snippet-extend-navigation.md)
|
||||
- [add tab to repository configuration](snippet-repository-tab.md)
|
||||
- [extend global configuration](snippet-config-group.md)
|
||||
|
||||
### Backend
|
||||
|
||||
- [Authentication](snippet-authentication.md "wikilink")
|
||||
- [Authentication](snippet-authentication.md)
|
||||
|
||||
@@ -1,16 +1,65 @@
|
||||
Command line client
|
||||
-------------------
|
||||
# Command line client
|
||||
|
||||
You can download the command line client from
|
||||
[here](http://www.scm-manager.org/download/ "wikilink") (the
|
||||
scm-cli-client).
|
||||
[here](http://www.scm-manager.org/download/) (the scm-cli-client).
|
||||
|
||||
### Examples
|
||||
|
||||
- - 1\. Store username, password and server url\*\*
|
||||
**1\. Store username, password and server url**
|
||||
|
||||
- - 2\. List all repositories\*\*
|
||||
```bash
|
||||
$ java -jar scm-cli-client-1.47-jar-with-dependencies.jar --user scmadmin --password madmin --server http://localhost:8080/scm store-config
|
||||
|
||||
- - 3\. Create a new user\*\*
|
||||
store config
|
||||
```
|
||||
|
||||
- - 4\. Add write permission for user test to repository scm\*\*
|
||||
**2\. List all repositories**
|
||||
|
||||
```bash
|
||||
$ java -jar scm-cli-client-1.47-jar-with-dependencies.jar list-repositories
|
||||
|
||||
ID: fbb64701-6dd3-4847-8588-26f693736961
|
||||
Name: scm
|
||||
Type: hg
|
||||
E-Mail: s.sdorra@gmail.com
|
||||
Description: SCM-Manager
|
||||
Public: false
|
||||
Creation-Date: 2011-06-03 16:13:19
|
||||
Last-Modified: 2011-06-03 16:15:38
|
||||
URL: http://localhost:8080/scm/hg/scm
|
||||
Permissions:
|
||||
WRITE - sdorra (Group: false)
|
||||
```
|
||||
|
||||
**3\. Create a new user**
|
||||
|
||||
```bash
|
||||
$ java -jar scm-cli-client-1.47-jar-with-dependencies.jar create-user --name test --display-name "Test User" --mail "test@scm-manager.org" --password secret
|
||||
|
||||
Name: test
|
||||
Display Name: Test User
|
||||
Type: xml
|
||||
E-Mail: test@scm-manager.org
|
||||
Administrator: false
|
||||
Creation-Date:
|
||||
Last-Modified:
|
||||
```
|
||||
|
||||
**4\. Add write permission for user test to repository scm**
|
||||
|
||||
```bash
|
||||
$ java -jar scm-cli-client-1.47-jar-with-dependencies.jar add-permission fbb64701-6dd3-4847-8588-26f693736961 --name test -t WRITE
|
||||
|
||||
ID: fbb64701-6dd3-4847-8588-26f693736961
|
||||
Name: scm
|
||||
Type: hg
|
||||
E-Mail: s.sdorra@gmail.com
|
||||
Description: SCM-Manager
|
||||
Public: false
|
||||
Creation-Date: 2011-06-03 16:13:19
|
||||
Last-Modified: 2011-06-03 16:15:38
|
||||
URL: http://localhost:8080/scm/hg/scm
|
||||
Permissions:
|
||||
WRITE - sdorra (Group: false)
|
||||
WRITE - test (Group: false)
|
||||
```
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
# Configure Eclipse
|
||||
|
||||
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
|
||||
-------------------------------------------
|
||||
## Use Maven to generate Eclipse project files
|
||||
|
||||
1. First, [build scm-manager from
|
||||
source](build-from-source "wikilink").
|
||||
1. First, [build scm-manager from source](build-from-source.md).
|
||||
2. Open a shell to the root of your scm-manager source.
|
||||
3. Run the following command:\\\\
|
||||
4. Run the following command:\\\\
|
||||
3. Run the following command:\
|
||||
`mvn eclipse:configure-workspace -Declipse.workspace=YOUR_WORKSPACE_PATH`
|
||||
4. Run the following command:\
|
||||
`mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true`
|
||||
5. Open Eclipse using the specified workspace.
|
||||
6. In Eclipse, select the \"File\", \"Import\...\" menu.
|
||||
7. Select the \"General\", \"Existing Projects into Workspace\" item
|
||||
@@ -20,27 +22,51 @@ Use Maven to generate Eclipse project files
|
||||
|
||||
You may encounter an error during the \"eclipse:eclipse\" step that
|
||||
looks like this:
|
||||
```
|
||||
[INFO] Request to merge when 'filtering' is not identical. Original=resource src
|
||||
/main/resources: output=target/classes, include=[META-INF/scm/plugin.xml], exclu
|
||||
de=[**/*.java], test=false, filtering=true, merging with=resource src/main/resou
|
||||
rces: output=target/classes, include=[], exclude=[META-INF/scm/plugin.xml|**/*.j
|
||||
ava], test=false, filtering=false
|
||||
```
|
||||
|
||||
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").
|
||||
[here](http://forums.atlassian.com/thread.jspa?threadID=34952&tstart=1).
|
||||
|
||||
1. Add the following line within the <settings> element of your
|
||||
\~/.m2/settings.xml [file:\\\\](file:\\){{{
|
||||
1. Add the following line within the <settings> element of your /.m2/settings.xml file:\
|
||||
`<usePluginRegistry>true</usePluginRegistry>`
|
||||
|
||||
<usePluginRegistry>true</usePluginRegistry> }}}
|
||||
|
||||
1. Add the file \~/.m2/plugin-registry.xml with the following contents:
|
||||
1. Add the file /.m2/plugin-registry.xml with the following contents:
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<pluginRegistry
|
||||
xsi:schemaLocation="http://maven.apache.org/PLUGIN_REGISTRY/1.0.0 http://maven.apache.org/xsd/plugin-registry-1.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/PLUGIN_REGISTRY/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-eclipse-plugin</artifactId>
|
||||
<useVersion>2.6</useVersion>
|
||||
<rejectedVersions>
|
||||
<rejectedVersion>2.7</rejectedVersion>
|
||||
<rejectedVersion>2.8</rejectedVersion>
|
||||
</rejectedVersions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginRegistry>
|
||||
```
|
||||
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
@@ -1,20 +1,33 @@
|
||||
Unix Daemons and Windows Services
|
||||
---------------------------------
|
||||
# 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")).
|
||||
**Note**: If you are using a 64Bit operating system you should use a 64Bit JavaVirtualMachine as well
|
||||
([#74](https://github.com/scm-manager/scm-manager/issues/74) or
|
||||
[rOL1nJ9DnfI](https://groups.google.com/forum/?fromgroups#!topic/scmmanager/rOL1nJ9DnfI "Can't start scm windows service")).
|
||||
|
||||
### Unix Daemons
|
||||
|
||||
You could run scm-server in background as unix daemon with one simple
|
||||
command:
|
||||
You could run scm-server in background as unix daemon with one simple command:
|
||||
|
||||
```bash
|
||||
scm-server start
|
||||
```
|
||||
|
||||
If you would like to stop the running daemon instance just call:
|
||||
|
||||
```bash
|
||||
scm-server stop
|
||||
```
|
||||
|
||||
### 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:
|
||||
Register scm-server as Windows service open a console (cmd) as Administrator and execute the following command:
|
||||
|
||||
```bash
|
||||
scm-server.bat install
|
||||
```
|
||||
|
||||
The service is no available in the service control center. You could uninstall the service with the command below:
|
||||
|
||||
```bash
|
||||
scm-server.bat uninstall
|
||||
```
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,14 +1,13 @@
|
||||
Download latest Snapshot release
|
||||
--------------------------------
|
||||
# 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-server](https://repository-scm-manager.forge.cloudbees.com/snapshot/sonia/scm/scm-server/1.61-SNAPSHOT/)
|
||||
|
||||
### 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-webapp](https://repository-scm-manager.forge.cloudbees.com/snapshot/sonia/scm/scm-webapp/1.61-SNAPSHOT)
|
||||
|
||||
### 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")
|
||||
- [scm-cli-client](https://repository-scm-manager.forge.cloudbees.com/snapshot/sonia/scm/clients/scm-cli-client/1.61-SNAPSHOT/)
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
Download
|
||||
--------
|
||||
# Download
|
||||
|
||||
The download page has moved to <http://www.scm-manager.org/download/>
|
||||
|
||||
35
docs/faq.md
35
docs/faq.md
@@ -1,18 +1,16 @@
|
||||
FAQ
|
||||
---
|
||||
# Frequently Asked Questions
|
||||
|
||||
### What are the username and the password in the default installation?
|
||||
|
||||
Username: scmadmin
|
||||
|
||||
Password: scmadmin
|
||||
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](RPM%20and%20DEB%20packages.md "wikilink")
|
||||
and deb](RPM%20and%20DEB%20packages.md)
|
||||
installations, for those installations the home directory is located at
|
||||
/var/lib/scm.
|
||||
|
||||
@@ -21,11 +19,11 @@ installations, for those installations the home directory is located at
|
||||
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
|
||||
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
|
||||
- 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?
|
||||
|
||||
@@ -34,11 +32,19 @@ 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 [Support for directory structure](https://github.com/scm-manager/scm-manager/issues/47).
|
||||
```text
|
||||
+ Project
|
||||
| - module-1
|
||||
| - module-2
|
||||
+ OtherProject
|
||||
| - module-1
|
||||
```
|
||||
|
||||
For more information have a look at [#47](https://github.com/scm-manager/scm-manager/issues/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.
|
||||
You have to enable \"Allow Anonymous Access\" at Config-\>General.
|
||||
|
||||
### Where does SCM-Manager stores it log files?
|
||||
|
||||
@@ -50,8 +56,15 @@ store its configuration, log files and the repositories?\").
|
||||
|
||||
Edit scm-server/conf/logging.xml change the line from:
|
||||
|
||||
```xml
|
||||
<logger name="sonia.scm" level="INFO" />
|
||||
```
|
||||
to:
|
||||
|
||||
```xml
|
||||
<logger name="sonia.scm" level="TRACE" />
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -1,42 +1,52 @@
|
||||
Getting started
|
||||
---------------
|
||||
# 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
|
||||
use the [oracle jre](http://java.oracle.com/). How to check
|
||||
which version of Java is installed:
|
||||
|
||||
```bash
|
||||
java -version
|
||||
```
|
||||
|
||||
### Install the latest version of Java
|
||||
|
||||
Download java from [here](http://java.oracle.com/ "wikilink") and follow
|
||||
Download java from [here](http://java.oracle.com/) 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
|
||||
[here](http://www.scm-manager.org/download/), unpack the .zip
|
||||
or .tar.gz package and start SCM-Manager with
|
||||
|
||||
```bash
|
||||
scm-server/bin/scm-server
|
||||
```
|
||||
|
||||
### First access
|
||||
|
||||
\|=URL\|<http://localhost:8080>\| \|=Username\|scmadmin\|
|
||||
\|=Password\|scmadmin\|
|
||||
| | |
|
||||
| ------------ | ----------------------- |
|
||||
| **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.
|
||||
**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>
|
||||
- [#1](https://bitbucket.org/sdorra/scm-manager/issues/1/no-ability-to-rename-repository)
|
||||
- [xeFcruG70s8J](https://groups.google.com/d/msg/scmmanager/zOigMIn2RiE/xeFcruG70s8J "Python/Hg Package Build Process")
|
||||
- [build-win-hg-packages](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,
|
||||
@@ -45,10 +55,13 @@ 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").
|
||||
```text
|
||||
sonia.scm.repository.RepositoryException: command exit with error 14001 and message: 'The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.'
|
||||
```
|
||||
|
||||
Then you have to install [Microsoft Visual C++ 2008 SP1 Redistributable Package
|
||||
(x86)](http://www.microsoft.com/en-us/download/details.aspx?id=5582).
|
||||
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").
|
||||
[#522](https://bitbucket.org/sdorra/scm-manager/issue/552/hg-repo-creation-failed).
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
SCM-Manager with GlassFish
|
||||
--------------------------
|
||||
# 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
|
||||
@@ -9,6 +8,10 @@ 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:
|
||||
|
||||
```bash
|
||||
-Dcom.sun.enterprise.overrideablejavaxpackages=javax.ws.rs,javax.ws.rs.core,javax.ws.rs.ext
|
||||
```
|
||||
|
||||
Restart the GlassFish-Server.
|
||||
|
||||
Source:
|
||||
|
||||
@@ -9,9 +9,7 @@ This incompatible repositories must be converted, before they can be used with S
|
||||
* 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
|
||||
|
||||
```bash
|
||||
java -jar scm-fixsvndb5-cli-1.0.1-jar-with-dependencies.jar /path/to/.scm
|
||||
```
|
||||
|
||||
@@ -19,5 +17,5 @@ java -jar scm-fixsvndb5-cli-1.0.1-jar-with-dependencies.jar /path/to/.scm
|
||||
|
||||
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)
|
||||
* [Issue #519](https://github.com/scm-manager/scm-manager/issues/519)
|
||||
* [Subversion release notes](https://subversion.apache.org/docs/release-notes/1.7.html#revprop-packing)
|
||||
|
||||
@@ -1,32 +1,37 @@
|
||||
How to create your own plugin
|
||||
-----------------------------
|
||||
# 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"))
|
||||
([download](http://www.oracle.com/technetwork/java/index.html))
|
||||
- Maven 3 or higher ([download](http://maven.apache.org/))
|
||||
|
||||
### Create plugin
|
||||
|
||||
```bash
|
||||
mvn archetype:generate\
|
||||
-DarchetypeGroupId=sonia.scm.maven\
|
||||
-DarchetypeArtifactId=scm-plugin-archetype\
|
||||
-DarchetypeVersion=1.60\
|
||||
-DarchetypeRepository=http://maven.scm-manager.org/nexus/content/groups/public/
|
||||
```
|
||||
### Test the plugin
|
||||
|
||||
```bash
|
||||
mvn scmp:run
|
||||
```
|
||||
|
||||
### 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")
|
||||
- [Hello World](https://bitbucket.org/sdorra/scm-manager/src/1.x/scm-samples/scm-sample-hello/)
|
||||
- [Authentication Plugin](https://bitbucket.org/sdorra/scm-manager/src/1.x/scm-samples/scm-sample-auth/)
|
||||
|
||||
### 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")
|
||||
- [Injection framework - Google Guice](http://code.google.com/p/google-guice/)
|
||||
- [Restful WebService - Jersey](http://jersey.java.net/nonav/documentation/latest/user-guide.html)
|
||||
- [ XML transformation - JAXB](http://jaxb.java.net/guide/)
|
||||
- [User interface - Ext JS](http://www.sencha.com/products/extjs3/)
|
||||
|
||||
### Questions/Help
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
# SCM-Manager on IIS Helicon
|
||||
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
|
||||
|
||||
```bash
|
||||
MyWorkstation:MyRepo user$ svn mv A.cs B.cs
|
||||
A B.cs
|
||||
D A.cs
|
||||
@@ -25,33 +24,30 @@ This problem only occurs when accessing the repository via https, not http.
|
||||
|
||||
1. Add the following rewrite rule to the web.config of the SCM application:
|
||||
|
||||
```
|
||||
#!xml
|
||||
|
||||
<system.webServer>
|
||||
```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>
|
||||
|
||||
<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:
|
||||
|
||||

|
||||

|
||||
|
||||
For more information, see issue [624](https://bitbucket.org/sdorra/scm-manager/issue/624/svn-400-bad-request-on-copy-or-move-when).
|
||||
For more information, see issue [#624](https://bitbucket.org/sdorra/scm-manager/issue/624/svn-400-bad-request-on-copy-or-move-when).
|
||||
@@ -1,25 +1,23 @@
|
||||
Injection Objects
|
||||
-----------------
|
||||
# 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")
|
||||
- [AdministrationContext](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AdministrationContext.html)
|
||||
- [AuthenticationManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/AuthenticationManager.html)
|
||||
- [CGIExecutorFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/cgi/CGIExecutorFactory.html)
|
||||
- [CacheManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/cache/CacheManager.html)
|
||||
- [ChangesetViewerUtil](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/ChangesetViewerUtil.html)
|
||||
- [CipherHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/security/CipherHandler.html)
|
||||
- [EncryptionHandler](http://docs.scm-manager.org/apidocs/latest/sonia/scm/security/EncryptionHandler.html)
|
||||
- [FileSystem](http://docs.scm-manager.org/apidocs/latest/sonia/scm/io/FileSystem.html)
|
||||
- [GroupManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/group/GroupManager.html)
|
||||
- [HttpClient](http://docs.scm-manager.org/apidocs/latest/sonia/scm/net/HttpClient.html)
|
||||
- [HttpServletRequest](http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html)
|
||||
- [HttpServletResponse](http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletResponse.html)
|
||||
- [HttpSession](http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpSession.html)
|
||||
- [KeyGenerator](http://docs.scm-manager.org/apidocs/latest/sonia/scm/security/KeyGenerator.html)
|
||||
- [RepositoryBrowserUtil](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryBrowserUtil.html)
|
||||
- [RepositoryManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryManager.html)
|
||||
- [RepositoryRequestListenerUtil](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/RepositoryRequestListenerUtil.html)
|
||||
- [ScmConfiguration](http://docs.scm-manager.org/apidocs/latest/sonia/scm/config/ScmConfiguration.html)
|
||||
- [StoreFactory](http://docs.scm-manager.org/apidocs/latest/sonia/scm/store/StoreFactory.html)
|
||||
- [UserManager](http://docs.scm-manager.org/apidocs/latest/sonia/scm/user/UserManager.html)
|
||||
- [WebSecurityContext](http://docs.scm-manager.org/apidocs/latest/sonia/scm/web/security/WebSecurityContext.html)
|
||||
|
||||
@@ -1,29 +1,129 @@
|
||||
Java Client API
|
||||
---------------
|
||||
# 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:
|
||||
|
||||
```xml
|
||||
<repositories>
|
||||
|
||||
<repository>
|
||||
<id>maven.scm-manager.org</id>
|
||||
<name>scm-manager release repository</name>
|
||||
<url>http://maven.scm-manager.org/nexus/content/groups/public</url>
|
||||
</repository>
|
||||
|
||||
</repositories>
|
||||
```
|
||||
|
||||
And you have to define the dependency to the api and one implementation:
|
||||
|
||||
```xml
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-client-api</artifactId>
|
||||
<version>1.60</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>sonia.scm.clients</groupId>
|
||||
<artifactId>scm-client-impl</artifactId>
|
||||
<version>1.60</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
First you have to create a session to your SCM-Manager instance:
|
||||
|
||||
```java
|
||||
String url = "http://localhost:8080/scm";
|
||||
String username = "scmadmin";
|
||||
String password = "scmadmin";
|
||||
ScmClientSession session = ScmClient.createSession(url, username, password);
|
||||
```
|
||||
|
||||
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:
|
||||
|
||||
```java
|
||||
session.close();
|
||||
```
|
||||
|
||||
### Examples
|
||||
|
||||
Create a new repository:
|
||||
|
||||
```java
|
||||
Repository repository = new Repository();
|
||||
repository.setName("scm-manager");
|
||||
repository.setType("hg");
|
||||
repository.setDescription("The easiest way to share and manage your Git, Mercurial and Subversion repositories over http.");
|
||||
|
||||
// set permissions for user sdorra to owner
|
||||
List<Permission> permissions = new ArrayList<Permission>();
|
||||
permissions.add(new Permission("sdorra", PermissionType.OWNER));
|
||||
repository.setPermissions(permissions);
|
||||
|
||||
session.getRepositoryHandler().create(repository);
|
||||
```
|
||||
|
||||
Get the last 20 commits of a repository:
|
||||
|
||||
```java
|
||||
RepositoryClientHandler repositoryHandler = session.getRepositoryHandler();
|
||||
// get the mercurial (hg) repository scm-manager
|
||||
Repository repository = repositoryHandler.get("hg", "scm-manager");
|
||||
ClientChangesetHandler changesetHandler = repositoryHandler.getChangesetHandler(repository);
|
||||
// get 20 changesets started by 0
|
||||
ChangesetPagingResult changesets = changesetHandler.getChangesets(0, 20);
|
||||
for ( Changeset c : changesets ){
|
||||
System.out.println( c.getId() + ": " + c.getDescription() );
|
||||
```
|
||||
|
||||
Print the content of a file in a repository:
|
||||
|
||||
```java
|
||||
RepositoryClientHandler repositoryHandler = session.getRepositoryHandler();
|
||||
// get the mercurial (hg) repository scm-manager
|
||||
Repository repository = repositoryHandler.get("hg", "scm-manager");
|
||||
ClientRepositoryBrowser browser = repositoryHandler.getRepositoryBrowser(repository);
|
||||
BufferedReader reader = null;
|
||||
try {
|
||||
// get the content of the file pom.xml at revision tip
|
||||
reader = new BufferedReader(new InputStreamReader(browser.getContent("tip", "pom.xml")));
|
||||
String line = reader.readLine();
|
||||
while ( line != null ){
|
||||
System.out.println( line );
|
||||
line = reader.readLine();
|
||||
}
|
||||
} finally {
|
||||
if ( reader != null ){
|
||||
reader.close();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Create a new user:
|
||||
|
||||
```java
|
||||
User user = new User("tuser", "Test User", "test.user@test.net");
|
||||
user.setPassword("test123");
|
||||
|
||||
session.getUserHandler().create( user );
|
||||
```
|
||||
|
||||
Add a user to an existing group:
|
||||
|
||||
```java
|
||||
GroupClientHandler groupHandler = session.getGroupHandler();
|
||||
Group group = groupHandler.get("developers");
|
||||
group.getMembers().add("tuser");
|
||||
groupHandler.modify(group);
|
||||
```
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
scm-jenkins-plugin
|
||||
------------------
|
||||
# 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
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
scm-jira-plugin
|
||||
---------------
|
||||
# scm-jira-plugin
|
||||
|
||||
The plugin enables the following features to integrate Atlassian JIRA to
|
||||
SCM-Manager:
|
||||
@@ -16,11 +15,11 @@ SCM-Manager:
|
||||
(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"))
|
||||
([Screenshot](screenshots/scm-jira-plugin/jira-plugin-01.png))
|
||||
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
|
||||
([Screenshot](screenshots/scm-jira-plugin/jira-plugin-02.png))
|
||||
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)
|
||||
@@ -41,8 +40,8 @@ close words with transition that are configured in JIRA.
|
||||
|
||||
### 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")
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
@@ -1,20 +1,83 @@
|
||||
scm-mail-plugin
|
||||
===============
|
||||
# scm-mail-plugin
|
||||
|
||||
The mail plugin provides an central api for sending e-mails. This api
|
||||
can be used by other plugins.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
## Configuration
|
||||
|
||||
The scm-mail-plugin provides a single place for the mail server
|
||||
configurations at Config-\>General-\>Mail Settings.
|
||||
|
||||
API Usage
|
||||
---------
|
||||
## API Usage
|
||||
|
||||
First you have to add the dependency to your pom.xml e.g.:
|
||||
|
||||
```xml
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-mail-plugin</artifactId>
|
||||
<version>1.4</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
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.:
|
||||
|
||||
```java
|
||||
import com.google.inject.Inject;
|
||||
import javax.mail.Message.RecipientType;
|
||||
import org.codemonkey.simplejavamail.Email;
|
||||
import sonia.scm.mail.api.MailService;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Service for e-mail notifications.
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
public class NotificationService
|
||||
{
|
||||
/** logger for NotificationService */
|
||||
private static final Logger logger = LoggerFactory.getLogger(
|
||||
NotificationService.class);
|
||||
|
||||
private MailService mailService;
|
||||
|
||||
/**
|
||||
* Constructs a new NotificationService.
|
||||
*
|
||||
* @param mailService injected mail service
|
||||
*/
|
||||
@Inject
|
||||
public NotificationService(MailService mailService)
|
||||
{
|
||||
this.mailService = mailService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a mail from admin@scm-manager.org to test.user@scm-manager.org,
|
||||
* if the mail service is configured.
|
||||
*
|
||||
* @throws MailSendBatchException
|
||||
*/
|
||||
public void sendNotification() throws MailSendBatchException {
|
||||
// check if the mail service is configured
|
||||
if ( mailService.isConfigured() ){
|
||||
// create a new e-mail
|
||||
Email mail = new Email();
|
||||
mail.setFromAddress("SCM-Administrator", "admin@scm-manager.org");
|
||||
mail.addRecipient("Test User", "test.user@scm-manager.org", RecipientType.TO);
|
||||
mail.setSubject("SCM-Manager notification");
|
||||
mail.setText("Notification from SCM-Manager");
|
||||
|
||||
// send the e-mail
|
||||
mailService.send(mail);
|
||||
} else {
|
||||
// log that the mail service is not configured
|
||||
logger.warn("mail service is not configured");
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
== scm-mantisbt-plugin ==
|
||||
# scm-mantisbt-plugin
|
||||
|
||||
The plugin enables the following features to integrate [MantisBT](https://www.mantisbt.org/) to SCM-Manager:
|
||||
|
||||
@@ -6,4 +6,4 @@ The plugin enables the following features to integrate [MantisBT](https://www.ma
|
||||
* 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)
|
||||
**Note**: The issue keys must be defined with a 7 digit number (e.g. 0000001)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
# SCM-Server and Nginx #
|
||||
# SCM-Server and Nginx
|
||||
|
||||
## Nginx configuration ##
|
||||
|
||||
```
|
||||
#!text
|
||||
## Nginx configuration
|
||||
|
||||
```text
|
||||
location /scm {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
@@ -14,19 +12,17 @@ location /scm {
|
||||
}
|
||||
```
|
||||
|
||||
## SCM-Server conf/server-config.xml ##
|
||||
## SCM-Server conf/server-config.xml
|
||||
|
||||
Uncomment following line:
|
||||
|
||||
```
|
||||
#!xml
|
||||
```xml
|
||||
<Set name="forwarded">true</Set>
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
#!xml
|
||||
```xml
|
||||
<Call name="addConnector">
|
||||
<Arg>
|
||||
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
|
||||
@@ -43,7 +39,7 @@ Example:
|
||||
</Call>
|
||||
```
|
||||
|
||||
## SCM-Manager Configuration version 1.5 and above ##
|
||||
## 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
|
||||
* Save the new new settings
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
Path Write Protect Plugin
|
||||
-------------------------
|
||||
# Path Write Protect Plugin
|
||||
|
||||
### Installation
|
||||
|
||||
- Login in as administrator
|
||||
- Open Plugins
|
||||
- Install scm-pathwp-plugin
|
||||
- Restart your applicationserver
|
||||
- Login in as administrator
|
||||
- Open Plugins
|
||||
- Install scm-pathwp-plugin
|
||||
- Restart your applicationserver
|
||||
|
||||
### Usage
|
||||
|
||||
@@ -15,19 +14,17 @@ 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/\*)
|
||||
- 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
|
||||
--------
|
||||
### 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 \|
|
||||
| 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 |
|
||||
|
||||
@@ -1,34 +1,70 @@
|
||||
Plugin Descriptor
|
||||
-----------------
|
||||
# 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 \|
|
||||
| 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:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<plugin>
|
||||
|
||||
<!--
|
||||
Informations for the plugin backend.
|
||||
The elements groupId, artifactId, name, version and url
|
||||
are automatically added from the pom.xml by a maven plugin (since 1.5).
|
||||
-->
|
||||
<information>
|
||||
<author>Sebastian Sdorra</author>
|
||||
</information>
|
||||
|
||||
<!--
|
||||
pluigin requires SCM-Manager version 1.7
|
||||
-->
|
||||
<conditions>
|
||||
<min-version>1.7</min-version>
|
||||
</conditions>
|
||||
|
||||
<!--
|
||||
register package for plugin extension finder
|
||||
-->
|
||||
<packages>
|
||||
<package>sonia.scm.jenkins</package>
|
||||
</packages>
|
||||
|
||||
<!--
|
||||
register javascript file
|
||||
-->
|
||||
<resources>
|
||||
<script>/sonia/scm/sonia.jenkins.js</script>
|
||||
</resources>
|
||||
|
||||
</plugin>
|
||||
```
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
Redmine Plugin
|
||||
--------------
|
||||
# Redmine Plugin
|
||||
|
||||
Is based on [scm-jira-plugin](jira-plugin.md "wikilink").
|
||||
Is based on [scm-jira-plugin](jira-plugin.md).
|
||||
|
||||
The plugin enables the following features to integrate SCM-Manager to
|
||||
[Redmine](http://www.redmine.org/ "wikilink"):
|
||||
[Redmine](http://www.redmine.org/):
|
||||
|
||||
- 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
|
||||
- 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
|
||||
|
||||
@@ -22,6 +20,6 @@ The plugin enables the following features to integrate SCM-Manager to
|
||||
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
|
||||
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
|
||||
|
||||
@@ -1,625 +1,528 @@
|
||||
SCM-Manager 1.19
|
||||
----------------
|
||||
# Release Notes 1.19 - 1.0
|
||||
|
||||
- - improvements\*\*
|
||||
## SCM-Manager 1.19
|
||||
|
||||
- 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
|
||||
**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\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- fix npe on windows startup, see \<\<issue 226\>\>
|
||||
- fix npe on windows startup, see \<\<issue 226\>\>
|
||||
|
||||
<!-- -->
|
||||
**library updates**
|
||||
|
||||
- - library updates\*\*
|
||||
- update javahg to version 0.4
|
||||
- update enunciate to version 1.26
|
||||
|
||||
- update javahg to version 0.4
|
||||
- update enunciate to version 1.26
|
||||
## SCM-Manager 1.18
|
||||
|
||||
SCM-Manager 1.18
|
||||
----------------
|
||||
**improvements**
|
||||
|
||||
- - improvements\*\*
|
||||
|
||||
- use javahg for mercurial commit, source, blame, content and diff
|
||||
- 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
|
||||
- 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**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
- - library updates\*\*
|
||||
## SCM-Manager 1.17
|
||||
|
||||
- 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
|
||||
**improvements**
|
||||
|
||||
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
|
||||
- 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
|
||||
- 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
|
||||
- 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**
|
||||
|
||||
- - 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,
|
||||
- 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
|
||||
- disable ssl validation for mercurial hook detection, see \<\<issue
|
||||
170\>\>
|
||||
- fix basic authentication for systems with turkish locale, see
|
||||
- fix basic authentication for systems with turkish locale, see
|
||||
\<\<issue 195\>\>
|
||||
|
||||
<!-- -->
|
||||
**library updates**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.16
|
||||
----------------
|
||||
**improvements**
|
||||
|
||||
- - improvements\*\*
|
||||
|
||||
- improve mercurial hook error handling
|
||||
- mercurial hook url auto detection
|
||||
- cleanup empty directories during repository delete, see \<\<issue
|
||||
- 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
|
||||
- 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
|
||||
- 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
|
||||
- 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
|
||||
- added api for store listeners
|
||||
- added option to encode svn responses with gzip
|
||||
|
||||
<!-- -->
|
||||
**fixed bugs**
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
- do not encode changeset author name, see \<\<issue 160\>\>
|
||||
- pass shell environment to mercurial cgi process, see \<\<issue
|
||||
- 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\>\>
|
||||
- fix mercurial encoding problem on windows, see \<\<issue 139\>\>
|
||||
- fix changing resource order for plugins
|
||||
- fix repository name validation, see \<\<issue 148\>\>
|
||||
|
||||
<!-- -->
|
||||
**library updates**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.15
|
||||
----------------
|
||||
**improvements**
|
||||
|
||||
- - 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
|
||||
- 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
|
||||
- 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
|
||||
- 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**
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
- disable jsvc arch call to fix wrong cpu problem on darwin i386
|
||||
- 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
|
||||
- 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
|
||||
- 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
|
||||
- fix possible xss in Acitivities View, Repository Commits, see
|
||||
\<\<issue 131\>\>
|
||||
- fix plugin installation failed with enabled proxy server, see
|
||||
- fix plugin installation failed with enabled proxy server, see
|
||||
\<\<issue 124\>\>
|
||||
- fix wrong changeset url in ui url provider
|
||||
- fix wrong changeset url in ui url provider
|
||||
|
||||
<!-- -->
|
||||
**library updates**
|
||||
|
||||
- - library updates\*\*
|
||||
- update google guava to version 12.0
|
||||
- update logback to version 1.0.3
|
||||
|
||||
- update google guava to version 12.0
|
||||
- update logback to version 1.0.3
|
||||
## SCM-Manager 1.14
|
||||
|
||||
SCM-Manager 1.14
|
||||
----------------
|
||||
**improvements**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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**
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
- fix wrong log messages
|
||||
- fix repository creation failure leaves empty directory, see
|
||||
- fix wrong log messages
|
||||
- fix repository creation failure leaves empty directory, see
|
||||
\<\<issue 106\>\>
|
||||
- fix mercurial repository source does not display with
|
||||
- fix mercurial repository source does not display with
|
||||
subrepositories, see \<\<issue 104\>\>
|
||||
- fix history repository selection
|
||||
- fix history repository selection
|
||||
|
||||
<!-- -->
|
||||
**library updates**
|
||||
|
||||
- - 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\>\>
|
||||
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.13
|
||||
----------------
|
||||
**improvements**
|
||||
|
||||
- - improvements\*\*
|
||||
- more robust python modules to access mercurial resources
|
||||
- added disable option to each core plugin
|
||||
|
||||
- more robust python modules to access mercurial resources
|
||||
- added disable option to each core plugin
|
||||
**fixed bugs**
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
- fix changing etags for collections
|
||||
- fix missing hooks of mercurial repository import, see \<\<issue
|
||||
- fix changing etags for collections
|
||||
- fix missing hooks of mercurial repository import, see \<\<issue
|
||||
97\>\>
|
||||
- fix anonymous push to public mercurial repositories, see \<\<issue
|
||||
- fix anonymous push to public mercurial repositories, see \<\<issue
|
||||
97\>\>
|
||||
- execute \"hg init\" in the scm home directory instead of current
|
||||
- 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
|
||||
- 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\>\>
|
||||
- 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**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.12
|
||||
----------------
|
||||
**improvements**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**library updates**
|
||||
|
||||
- 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
|
||||
- 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
|
||||
|
||||
- - library updates\*\*
|
||||
**improvements**
|
||||
|
||||
- update jetty to version 7.6.0.v20120127
|
||||
- update maven for aether to version 3.0.4
|
||||
- update ehcache to version 2.5.1
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.11
|
||||
----------------
|
||||
**fixed bugs**
|
||||
|
||||
- - 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,
|
||||
- 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\>\>
|
||||
- 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
|
||||
----------------
|
||||
## SCM-Manager 1.10
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- small performance improvements
|
||||
- added basic support for external mercurial subrepositories
|
||||
- added repository request listener api
|
||||
- added file object pre processor api
|
||||
- small performance improvements
|
||||
- added basic support for external mercurial subrepositories
|
||||
- added repository request listener api
|
||||
- added file object pre processor api
|
||||
|
||||
<!-- -->
|
||||
**fixed bugs**
|
||||
|
||||
- - 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
|
||||
- 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**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.9
|
||||
---------------
|
||||
**improvements**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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**
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
- fix bug in get method of repository resource
|
||||
- fix issue \"Administrator flag is disabled after login\", see
|
||||
- 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\>\>
|
||||
- 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**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.8
|
||||
---------------
|
||||
**improvements**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**library updates**
|
||||
|
||||
- Fixed bug in git repositories without head
|
||||
- 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
|
||||
|
||||
- - library updates\*\*
|
||||
**improvements**
|
||||
|
||||
- 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
|
||||
- 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
|
||||
- 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
|
||||
- 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
|
||||
- support for proxyservers with authentication, see
|
||||
[ko7eGU88rB4](https://groups.google.com/forum/#!topic/scmmanager/ko7eGU88rB4 "Plugins through http auth proxy?")
|
||||
- improve changeset pre processor api
|
||||
- improve support for repository, group and user properties
|
||||
|
||||
<!-- -->
|
||||
**fixed bugs**
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
<!-- -->
|
||||
|
||||
- show installed plugins without internet connection, see \<\<issue
|
||||
- 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
|
||||
- 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**
|
||||
|
||||
- - 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
|
||||
|
||||
- update ehcache to version 2.4.4
|
||||
- update slf4j to version 1.6.2
|
||||
- update junit to version 4.9
|
||||
**note**
|
||||
|
||||
SCM-Manager 1.6
|
||||
---------------
|
||||
- GlassFish 3.x users have to change their GlassFish configuration,
|
||||
see [SCM-Manager with GlassFish](glassfish.md)
|
||||
|
||||
- - note\*\*
|
||||
**improvements**
|
||||
|
||||
- GlassFish 3.x users have to change their GlassFish configuration,
|
||||
see [SCM-Manager with GlassFish](glassfish "wikilink")
|
||||
- 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**
|
||||
|
||||
- - 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
|
||||
- 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
|
||||
- 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
|
||||
- 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**
|
||||
|
||||
- - 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
|
||||
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.5
|
||||
---------------
|
||||
**note**
|
||||
|
||||
- - note\*\*
|
||||
- mod\_proxy users have to change their configuration, see [mod\_proxy configuration](apache/apache-mod_proxy.md)
|
||||
|
||||
- mod\_proxy users have to change their configuration, see [mod\_proxy configuration](apache/apache-mod_proxy.md "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
|
||||
|
||||
- - improvements\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- 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
|
||||
- fixed javascript error on loginwindow cancelbutton click
|
||||
- fixed bug with non default git repository directory, see \<\<issue
|
||||
29\>\>
|
||||
|
||||
<!-- -->
|
||||
**library updates**
|
||||
|
||||
- - library updates\*\*
|
||||
- upgraded jersey to version 1.8
|
||||
- upgraded jgit to version 1.0.0.201106090707-r
|
||||
|
||||
- upgraded jersey to version 1.8
|
||||
- upgraded jgit to version 1.0.0.201106090707-r
|
||||
## SCM-Manager 1.4
|
||||
|
||||
SCM-Manager 1.4
|
||||
---------------
|
||||
**improvements**
|
||||
|
||||
- - improvements\*\*
|
||||
- support for IE 9
|
||||
- using tabs for group details
|
||||
|
||||
- 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\>\>
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**library updates**
|
||||
|
||||
- fixed svn move command, see \<\<issue 25\>\>
|
||||
- fixed svn log command, see \<\<issue 25\>\>
|
||||
- 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
|
||||
|
||||
- - library updates\*\*
|
||||
**improvements**
|
||||
|
||||
- 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
|
||||
- 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
|
||||
|
||||
SCM-Manager 1.3
|
||||
---------------
|
||||
**fixed bugs**
|
||||
|
||||
- - improvements\*\*
|
||||
- svn: fixed wrong content-length in DAVServlet, see \<\<issue 24\>\>
|
||||
- svn: fixed wrong encoding, see \<\<issue 22\>\>
|
||||
|
||||
- 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
|
||||
**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
|
||||
|
||||
- - fixed bugs\*\*
|
||||
## SCM-Manager 1.2
|
||||
|
||||
- svn: fixed wrong content-length in DAVServlet, see \<\<issue 24\>\>
|
||||
- svn: fixed wrong encoding, see \<\<issue 22\>\>
|
||||
**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\>\>
|
||||
|
||||
- - library updates\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- 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
|
||||
- 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\>\>
|
||||
|
||||
SCM-Manager 1.2
|
||||
---------------
|
||||
**library updates**
|
||||
|
||||
- - improvements\*\*
|
||||
- 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
|
||||
|
||||
- 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\>\>
|
||||
## SCM-Manager 1.1
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - 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
|
||||
- Support for Unix-Daemons and Windows-Services
|
||||
- Support for localization
|
||||
- German localization
|
||||
- Help tooltips
|
||||
- New Plugin-Backend
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
# Release Notes 1.39 - 1.20
|
||||
|
||||
SCM-Manager 1.39
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- created rpm and deb packages for scm-server
|
||||
- improve error handling of permission system
|
||||
@@ -11,9 +13,9 @@ SCM-Manager 1.39
|
||||
- implemented marker interface for plugin class loaders to make it
|
||||
easier to find class loader leaks
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix mailto links
|
||||
- fix automatic start as service on windows server 2012, see \<\<issue
|
||||
@@ -29,9 +31,9 @@ SCM-Manager 1.39
|
||||
- fix marshalling exception on plugin installation with rest api, see
|
||||
\<\<issue \#578\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update mustache to version 0.8.15
|
||||
- update jgit to version 3.4.0.201406110918-r
|
||||
@@ -41,7 +43,7 @@ SCM-Manager 1.39
|
||||
SCM-Manager 1.38
|
||||
----------------
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- fix NoClassDefFoundError in scm-cli-client, see issue \<\<issue
|
||||
\#576\>\>
|
||||
@@ -55,7 +57,7 @@ SCM-Manager 1.38
|
||||
SCM-Manager 1.37
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- improved git error messages for failed authentication and not enough
|
||||
permissions
|
||||
@@ -65,9 +67,9 @@ SCM-Manager 1.37
|
||||
- update last modified date of a repository after each push
|
||||
- added hidden last modified column to repository grid
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- resolve dependency resolution conflicts, see \<\<issue 541\>\>,
|
||||
\<\<issue 549\>\> and \<\<issue 558\>\>
|
||||
@@ -79,9 +81,9 @@ SCM-Manager 1.37
|
||||
\<\<issue 548\>\>
|
||||
- subversion cannot delete properties, see \<\<issue 547\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jetty to version 7.6.15.v20140411
|
||||
- update svnkit to version 1.8.5-scm1
|
||||
@@ -93,18 +95,18 @@ SCM-Manager 1.37
|
||||
SCM-Manager 1.36
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**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")
|
||||
16](https://bitbucket.org/sdorra/scm-manager/pull-request/16/add-feature-to-set-custom-realm)
|
||||
- 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\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- solve classloading issues for plugin classes
|
||||
- fix changing passwords which a shorter than 5 chars, see issue
|
||||
@@ -119,9 +121,9 @@ SCM-Manager 1.36
|
||||
- fix bug with some special chars in SearchUtil
|
||||
- fix mercurial out of scope exception on startup
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update args4j 2.0.26
|
||||
- update svnkit to version 1.8.4-scm1
|
||||
@@ -135,35 +137,35 @@ SCM-Manager 1.36
|
||||
SCM-Manager 1.35
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- Spanish translation, see [PR
|
||||
9](https://bitbucket.org/sdorra/scm-manager/pull-request/9/spanish-translation "wikilink")
|
||||
9](https://bitbucket.org/sdorra/scm-manager/pull-request/9/spanish-translation)
|
||||
thanks to [Ángel L.
|
||||
García](https://bitbucket.org/algarcia "wikilink")
|
||||
García](https://bitbucket.org/algarcia)
|
||||
- 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")
|
||||
4](https://bitbucket.org/sdorra/scm-manager/pull-request/4/modifications-for-auto-login)
|
||||
thanks to [Clemens Rabe](https://bitbucket.org/seeraven)
|
||||
- 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")
|
||||
11](https://bitbucket.org/sdorra/scm-manager/pull-request/11/c-java-extensions-added-to)
|
||||
thanks to [pankaj azad](https://bitbucket.org/pankajazad)
|
||||
- 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")
|
||||
5](https://bitbucket.org/sdorra/scm-manager/pull-request/5/german-translation-adjusted/diff)
|
||||
thanks to [Ahmed Saad](https://bitbucket.org/saadous)
|
||||
- use same validation rules for user and group names, see \<\<issue
|
||||
470\>\>
|
||||
- added brushes for applescript and sass
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fixed file leak, see \<\<issue 500\>\>
|
||||
- fixed double escaping, see \<\<issue 505\>\>
|
||||
@@ -178,9 +180,9 @@ SCM-Manager 1.35
|
||||
see \<\<issue 464\>\>
|
||||
- fix wrong sql brush filename, see \<\<issue 461\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jetty to 7.6.14.v20131031
|
||||
- update jersey to 1.18
|
||||
@@ -193,7 +195,7 @@ SCM-Manager 1.35
|
||||
SCM-Manager 1.34
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- allow multi line mercurial messages
|
||||
- change order of permission column and use a more robust cell editor
|
||||
@@ -203,9 +205,9 @@ SCM-Manager 1.34
|
||||
- added configuration changed event
|
||||
- implement login attempt handler to handle failed authentications
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix bug with user events and decorated user managers
|
||||
- fix hg push fails with \'URLError\' object has no attribute
|
||||
@@ -222,9 +224,9 @@ SCM-Manager 1.34
|
||||
- fix out of scope exception on access hgcontext, see \<\<issue
|
||||
451\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jetty to 7.6.13.v20130916
|
||||
- update guava to version 15.0
|
||||
@@ -232,7 +234,7 @@ SCM-Manager 1.34
|
||||
SCM-Manager 1.33
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added api to bypass changeset pre processors during hook
|
||||
- added api to send messages back to scm client during hook
|
||||
@@ -240,9 +242,9 @@ SCM-Manager 1.33
|
||||
- introduce Event annotation to mark event classes which are
|
||||
receiveable over the event system
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix login window scrollbars on linux with firefox 21, see \<\<issue
|
||||
411\>\>
|
||||
@@ -259,9 +261,9 @@ SCM-Manager 1.33
|
||||
- fix handling of pending changesets during pre receive repository
|
||||
hooks
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jgit to 3.0.0.201306101825-r
|
||||
- update args4j to version 2.0.25
|
||||
@@ -274,16 +276,16 @@ SCM-Manager 1.33
|
||||
SCM-Manager 1.32
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**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\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix loading of cache configurations from plugins
|
||||
- resolve conflicts for plugins and plugin dependencies
|
||||
@@ -295,7 +297,7 @@ SCM-Manager 1.32
|
||||
SCM-Manager 1.31
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added first access url and credentials to readme
|
||||
- option to assign global access permissions to users and groups
|
||||
@@ -311,9 +313,9 @@ SCM-Manager 1.31
|
||||
parent
|
||||
- create and deploy package for rest documentation
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix wrong message for deleting repositories (\<\<issue 370\>\>)
|
||||
- fix button handling on repository grid with enabled archive mode
|
||||
@@ -326,9 +328,9 @@ SCM-Manager 1.31
|
||||
395\>\>)
|
||||
- fix daemon mode on some operating systems (\<\<issue 397\>\>)
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update logback to version 1.0.13
|
||||
- update svnkit to version 1.7.9-scm1
|
||||
@@ -341,14 +343,14 @@ SCM-Manager 1.31
|
||||
SCM-Manager 1.30
|
||||
----------------
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- fix missing copy strategy in guava cache configuration
|
||||
|
||||
SCM-Manager 1.29
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- use guava as default cache implementation (\<\<issue 345\>\>)
|
||||
- merge cache configuration from default location, config directory
|
||||
@@ -363,9 +365,9 @@ SCM-Manager 1.29
|
||||
- use template engine and repository service for git repository page
|
||||
(\<\<issue 341\>\>)
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- synchronize getCache method of cache manager implementations
|
||||
(\<\<issue 345\>\>)
|
||||
@@ -381,9 +383,9 @@ SCM-Manager 1.29
|
||||
- sonia.scm.net.HttpRequest.appendValues() adds parameter values twice
|
||||
(\<\<issue 342\>\>)
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update ehcache to version 2.6.5
|
||||
- update jersey to version 1.17.1
|
||||
@@ -397,7 +399,7 @@ SCM-Manager 1.29
|
||||
SCM-Manager 1.28
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added scm.home example for windows, see \<\<issue 328\>\>
|
||||
- disable directory listings on default scm-server configuration
|
||||
@@ -407,9 +409,9 @@ SCM-Manager 1.28
|
||||
- use async cache for scm realm
|
||||
- improve manager exception handling
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix path traversal vulnerability in git changelog api, see \<\<issue
|
||||
319\>\>
|
||||
@@ -423,15 +425,15 @@ SCM-Manager 1.28
|
||||
SCM-Manager 1.27
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**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\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix binding of extensions with eager singleton scope
|
||||
- fix bug with registration of multiple authentication listeners
|
||||
@@ -441,7 +443,7 @@ SCM-Manager 1.27
|
||||
SCM-Manager 1.26
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- use localStorage to store state of the user interface
|
||||
- improve logging of plugin installer
|
||||
@@ -450,9 +452,9 @@ SCM-Manager 1.26
|
||||
- added recursive option to browse command
|
||||
- added option to disable sub repository detection of browse command
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- normalize urls for BaseUrlFilter to prevent redirect loops, see
|
||||
\<\<issue 311\>\>
|
||||
@@ -462,23 +464,23 @@ SCM-Manager 1.26
|
||||
- synchronize getChangeset method of hook events and call registered
|
||||
pre processors before the changesets are returned to hook
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jersey to version 1.17
|
||||
|
||||
SCM-Manager 1.25
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added feature api for specific repository types
|
||||
- improve logging of plugin installer
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix svn make and put with Polish characters in path, see \<\<issue
|
||||
298\>\>
|
||||
@@ -489,9 +491,9 @@ SCM-Manager 1.25
|
||||
- fix installing plugin package breaks classpath.xml, see \<\<issue
|
||||
306\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update svnkit to version 1.7.8-scm1
|
||||
- update ehcache to version 2.6.3
|
||||
@@ -502,14 +504,14 @@ SCM-Manager 1.25
|
||||
SCM-Manager 1.24
|
||||
----------------
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- fix wrong default date format
|
||||
|
||||
SCM-Manager 1.23
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- new event api based on guavas EventBus
|
||||
- added option to exclude hosts from proxy, see \<\<issue 281\>\>
|
||||
@@ -523,9 +525,9 @@ SCM-Manager 1.23
|
||||
- prepare server-config.xml for request logging
|
||||
- improve javadoc
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- use system environment when executing \"hg create\"
|
||||
- fix build from source, see \<\<issue 289\>\>
|
||||
@@ -538,9 +540,9 @@ SCM-Manager 1.23
|
||||
- fix mercurial sub repository detection in source browser
|
||||
- fix non closing client response
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update selenium to version 2.28.0
|
||||
- update svnkit to version 1.7.6-scm3
|
||||
@@ -554,7 +556,7 @@ SCM-Manager 1.23
|
||||
SCM-Manager 1.22
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- store expanded/collapsed state of groupingviews across sessions, see
|
||||
\<\<issue 268\>\>
|
||||
@@ -562,15 +564,15 @@ SCM-Manager 1.22
|
||||
- added method to read templates from a reader
|
||||
- added repository type icons to grid
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix permission autocomplete, see \<\<issue 267\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update mustache.java to version 0.8.8
|
||||
- update mockito to version 1.9.5
|
||||
@@ -578,7 +580,7 @@ SCM-Manager 1.22
|
||||
SCM-Manager 1.21
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- reimplment the complete security model on top of apache shiro
|
||||
- allow execution of administration tasks without an active http
|
||||
@@ -590,9 +592,9 @@ SCM-Manager 1.21
|
||||
- improve performance and memory consumption of svn log command
|
||||
- do not log sensitive cgi env variables
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix freezing configuration form on ie, see \<\<issue 236\>\>
|
||||
- fix wrong branch informations of git repository hooks, \<\<issue
|
||||
@@ -600,9 +602,9 @@ SCM-Manager 1.21
|
||||
- fix bug in history of subversion repositories
|
||||
- fix wrong mercurial changeset ids during hooks
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update google guava to version 13.0.1
|
||||
- update jetty to version 7.6.7.v20120910
|
||||
@@ -616,25 +618,25 @@ SCM-Manager 1.21
|
||||
SCM-Manager 1.20
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**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\*\*
|
||||
|
||||
**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\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update logback to version 1.0.7
|
||||
|
||||
[Release 1.19 - 1.0](release%20notes%201.19%20-%201.0.md "wikilink")
|
||||
[Release 1.19 - 1.0](release%20notes%201.19%20-%201.0.md)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
- - note\*\*
|
||||
**note**
|
||||
|
||||
- Versions prior to 1.36 are creating incompatible subversion
|
||||
repositories, if the subversion option \"with 1.7 Compatible\" is
|
||||
enabled. [read more](healthchecks/svn-incompatible-dbformat.md "wikilink")
|
||||
enabled. [read more](healthchecks/svn-incompatible-dbformat.md)
|
||||
- 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
|
||||
@@ -12,54 +12,54 @@
|
||||
SCM-Manager 1.60
|
||||
----------------
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**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\*\*
|
||||
|
||||
**improvements**
|
||||
|
||||
- encrypt cli configuration with aes instead of pbe, see \<\<issue
|
||||
979\>\> and \<\<issue 978\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update commons-daemon to version 1.1.0
|
||||
|
||||
SCM-Manager 1.59
|
||||
----------------
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**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")
|
||||
[\#976](https://bitbucket.org/sdorra/scm-manager/issues/976/issue-with-158-and-mercurial)
|
||||
- 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")
|
||||
\#41](https://bitbucket.org/sdorra/scm-manager/pull-requests/41/make-extras-work-on-old-versions-of-hg/diff)
|
||||
and
|
||||
[\#971](https://bitbucket.org/sdorra/scm-manager/issues/971/commit-listening-requires-at-least "wikilink")
|
||||
[\#971](https://bitbucket.org/sdorra/scm-manager/issues/971/commit-listening-requires-at-least)
|
||||
|
||||
SCM-Manager 1.58
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**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"),
|
||||
[CVE-2018-1000132](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-1000132),
|
||||
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\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update javahg to 0.13
|
||||
- update commons-beanutils to 1.9.3
|
||||
@@ -74,27 +74,27 @@ SCM-Manager 1.58
|
||||
SCM-Manager 1.57
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- treat update of a git tag as delete and create for hooks
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fixed handling of resources with spaces in its id, see \<\<issue
|
||||
965\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update svnkit to version 1.9.0-scm3
|
||||
|
||||
SCM-Manager 1.56
|
||||
----------------
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- fixed high cpu load after subversion client connection abort, see
|
||||
\<\<issue 939\>\>
|
||||
@@ -104,13 +104,13 @@ SCM-Manager 1.56
|
||||
SCM-Manager 1.55
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added option to disallow non fast-forward git pushes
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fixes usage of named cache configurations, see \<\<issue 943\>\>
|
||||
- fixed update of git repositories with empty git default branch, see
|
||||
@@ -118,11 +118,11 @@ SCM-Manager 1.55
|
||||
- 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")
|
||||
[\#PR-39](https://bitbucket.org/sdorra/scm-manager/pull-requests/39)
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jgit to version v4.5.3.201708160445-r-scm1
|
||||
- update svnkit to version 1.9.0-scm1
|
||||
@@ -130,23 +130,23 @@ SCM-Manager 1.55
|
||||
SCM-Manager 1.54
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added experimetal support for git-lfs,
|
||||
[\#PR-27](https://bitbucket.org/sdorra/scm-manager/pull-requests/27 "wikilink")
|
||||
[\#PR-27](https://bitbucket.org/sdorra/scm-manager/pull-requests/27)
|
||||
- improve git client detection to include jgit
|
||||
- git repositories are now accessible with the \".git\" suffix
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix repository browsing with mercurial 4.x
|
||||
- fixing test execution on german / windows machines
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jgit to v4.5.2.201704071617-r-scm1
|
||||
- update javahg to 0.8-scm1
|
||||
@@ -156,20 +156,20 @@ SCM-Manager 1.54
|
||||
SCM-Manager 1.53
|
||||
----------------
|
||||
|
||||
- - fixed bugs\*\*
|
||||
**fixed bugs**
|
||||
|
||||
- fix jax-rs classpath conflict, see \<\<issue 916\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update nativepkg-maven-plugin to version 1.1.4
|
||||
|
||||
SCM-Manager 1.52
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added support for gtld email domains, see \<\<issue 909\>\>
|
||||
- improved performance by creating an adapter between scm and shiro
|
||||
@@ -177,9 +177,9 @@ SCM-Manager 1.52
|
||||
- improved rest api documentation, see
|
||||
<https://docs.scm-manager.org/restdocs/1.52/>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update svnkit to version 1.8.15-scm1
|
||||
- update enunciate to version 2.9.1
|
||||
@@ -187,14 +187,14 @@ SCM-Manager 1.52
|
||||
SCM-Manager 1.51
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**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\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix wrong subversion urls behind a reverse proxy, see \<\<issue
|
||||
889\>\>
|
||||
@@ -203,9 +203,9 @@ SCM-Manager 1.51
|
||||
- fix wrong key usage during encoding in DefaultCipherHandler, see
|
||||
\<\<issue 887\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jersey to version 1.19.3
|
||||
- update slf4j to version 1.7.22
|
||||
@@ -217,7 +217,7 @@ SCM-Manager 1.51
|
||||
SCM-Manager 1.50
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added reusable components for branch and tag combo boxes
|
||||
- option to define default branch for git repositories \<\<issue
|
||||
@@ -228,9 +228,9 @@ SCM-Manager 1.50
|
||||
GET, see issue \<\<issue 859\>\>
|
||||
- added new hook context api for tags
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- send http status code 401 unauthorized on failed git authentication,
|
||||
see issue \<\<issue 870\>\>
|
||||
@@ -240,14 +240,14 @@ SCM-Manager 1.50
|
||||
SCM-Manager 1.49
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- reduce event bus logging
|
||||
- added RepositoryHookITCase to test repository post receive hooks
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- escape url parameters ub UrlBuilder in order to fix \<\<issue
|
||||
847\>\>
|
||||
@@ -257,23 +257,23 @@ SCM-Manager 1.49
|
||||
\<\<issue 844\>\>
|
||||
- fix guice javadoc link
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update apache shiro to version 1.3.0
|
||||
- updated jgit 4.4.0.201606070830-r-scm1, see \<\<issue 848\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - breaking changes\*\*
|
||||
|
||||
**breaking changes**
|
||||
|
||||
- SCM-Manager 1.49 requires at least Java 7
|
||||
|
||||
SCM-Manager 1.48
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added request uri to mdc logging context
|
||||
- added request method to mdc filter
|
||||
@@ -283,24 +283,24 @@ SCM-Manager 1.48
|
||||
- improve modification events to pass the item before it was modified
|
||||
to the subscriber
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**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\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update apache shiro to version 1.2.5
|
||||
|
||||
SCM-Manager 1.47
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added implmentation for running git gc in an configurable interval,
|
||||
see \<\<issue 801\>\>
|
||||
@@ -312,11 +312,11 @@ SCM-Manager 1.47
|
||||
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")
|
||||
[\#PR-25](https://bitbucket.org/sdorra/scm-manager/pull-requests/25/case-insensitive-sorting-of-the-name)
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- removed broken maven repositories
|
||||
- do not swallow the ScmSecurityException in PermissionFilter
|
||||
@@ -329,9 +329,9 @@ SCM-Manager 1.47
|
||||
- update commons-daemon-native to version 1.0.15.1 to fix scm-server
|
||||
start on macos
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update enunciate to version 1.31
|
||||
- update jetty to version 7.6.19.v20160209
|
||||
@@ -343,7 +343,7 @@ SCM-Manager 1.47
|
||||
SCM-Manager 1.46
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- link modification to files on commit panel, see \<\<issue 356\>\>
|
||||
- added to branch switcher to repository browser, see \<\<issue
|
||||
@@ -352,9 +352,9 @@ SCM-Manager 1.46
|
||||
- use cached thread pool to process mercurial process error streams
|
||||
- new advanced http client, see \<\<issue 709\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- fix rendering of bottom toolbar in repository browser, if path is
|
||||
null
|
||||
@@ -366,9 +366,9 @@ SCM-Manager 1.46
|
||||
client api
|
||||
- set content-length header on post requests, see \<\<issue 701\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update enunciate to version 1.30.1
|
||||
- update jgit to version 3.7.1.201504261725-r-scm1
|
||||
@@ -378,7 +378,7 @@ SCM-Manager 1.46
|
||||
SCM-Manager 1.45
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- improve remove repository confirmation dialog
|
||||
- introducing HookBranchProvider to get informations about changed
|
||||
@@ -390,9 +390,9 @@ SCM-Manager 1.45
|
||||
branches, see \<\<issue \#663\>\>
|
||||
- usability of init script improved.
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- added missing shebang statement in create user script, see \<\<issue
|
||||
665\>\>
|
||||
@@ -401,9 +401,9 @@ SCM-Manager 1.45
|
||||
- fixed basic authentication with non ascii passwords, see \<\<issue
|
||||
627\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jersey to version 1.19
|
||||
- update slf4j to version 1.7.10
|
||||
@@ -411,17 +411,17 @@ SCM-Manager 1.45
|
||||
SCM-Manager 1.44
|
||||
----------------
|
||||
|
||||
- - library updates\*\*
|
||||
**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")
|
||||
[CVE-2014-9390](http://article.gmane.org/gmane.linux.kernel/1853266)
|
||||
- update jersey to version 1.18.3
|
||||
- update slf4j to version 1.7.9
|
||||
|
||||
SCM-Manager 1.43
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- new repository import wizard
|
||||
- added support for remote urls to push and pull apis (implemented by
|
||||
@@ -431,45 +431,45 @@ SCM-Manager 1.43
|
||||
- implemented AdvancedImportHandler which gives more control over the
|
||||
import result than ImportHandler
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**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")
|
||||
[\#PR-17](https://bitbucket.org/sdorra/scm-manager/pull-request/17/utf-8-response-encoding-for-git-quick)
|
||||
- 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\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jersey to version 1.18.2
|
||||
|
||||
SCM-Manager 1.42
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**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\*\*
|
||||
|
||||
**fixed bugs**
|
||||
|
||||
- use base uri from request for git quick repository view, see
|
||||
\<\<issue 631\>\>
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - library updates\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update mustache to version 0.8.17
|
||||
- update mockito to version 1.10.8
|
||||
@@ -477,7 +477,7 @@ SCM-Manager 1.42
|
||||
SCM-Manager 1.41
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- improve performance for simple subversion changeset paging, see
|
||||
\<\<issue 610\>\>
|
||||
@@ -486,18 +486,18 @@ SCM-Manager 1.41
|
||||
- added mdc logging variables username, client\_ip and client\_host
|
||||
- use default jersey client implementation instead of ahc
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**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\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update jetty to version 7.6.16.v20140903
|
||||
- update jgit to version 3.4.1.201406201815-r
|
||||
@@ -507,22 +507,22 @@ SCM-Manager 1.41
|
||||
SCM-Manager 1.40
|
||||
----------------
|
||||
|
||||
- - improvements\*\*
|
||||
**improvements**
|
||||
|
||||
- added display name to web.xml
|
||||
|
||||
<!-- -->
|
||||
|
||||
- - fixed bugs\*\*
|
||||
|
||||
**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\*\*
|
||||
|
||||
**library updates**
|
||||
|
||||
- update args4j to version 2.0.28
|
||||
|
||||
[Release 1.39 - 1.20](release%20notes%201.39%20-%201.20.md "wikilink")
|
||||
[Release 1.39 - 1.20](release%20notes%201.39%20-%201.20.md)
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
Revision Control Plugin Comparison
|
||||
----------------------------------
|
||||
# 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> \|
|
||||
| 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), Mercurial | <https://www.mercurial-scm.org/> |
|
||||
| scm-bzr-plugin | Bazaar | | Python, Bazaar | <http://bazaar.canonical.com> |
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
# scm-scheduler-plugin #
|
||||
# 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 ##
|
||||
## Configuration
|
||||
|
||||
The plugin needs no further configuration.
|
||||
|
||||
## API Usage ##
|
||||
## API Usage
|
||||
|
||||
First you have to add the dependency to your pom.xml e.g.:
|
||||
|
||||
```
|
||||
#!xml
|
||||
```xml
|
||||
<dependency>
|
||||
<groupId>sonia.scm.plugins</groupId>
|
||||
<artifactId>scm-scheduler-plugin</artifactId>
|
||||
@@ -25,10 +24,7 @@ Now you can get a [SchedulerFactory](http://www.quartz-scheduler.org/api/2.0.0/o
|
||||
|
||||
For Example:
|
||||
|
||||
|
||||
```
|
||||
#!java
|
||||
|
||||
```java
|
||||
public class ReportHandler {
|
||||
|
||||
private final SchedulerFactory schedulerFactory;
|
||||
@@ -43,25 +39,22 @@ public class ReportHandler {
|
||||
|
||||
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 ###
|
||||
### 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 ###
|
||||
### 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 ###
|
||||
### Complete Example
|
||||
|
||||
In the following example a ReportJob is executed every minute since the start of scm-manager.
|
||||
|
||||
|
||||
```
|
||||
#!java
|
||||
|
||||
```java
|
||||
@Extension
|
||||
public class ReportContextListener implements ServletContextListener {
|
||||
|
||||
@@ -93,4 +86,4 @@ public class ReportContextListener implements ServletContextListener {
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
@@ -1,62 +1,47 @@
|
||||
Plugins
|
||||
-------
|
||||
# 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> \|
|
||||
| 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> \|
|
||||
| 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> \|
|
||||
| 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> \|
|
||||
| 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> \|
|
||||
| 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> \|
|
||||
| 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> |
|
||||
|
||||
@@ -1,22 +1,76 @@
|
||||
SCM-Server SSL
|
||||
--------------
|
||||
# SCM-Server SSL
|
||||
|
||||
- - Note\*\*: This document describes a ssl configuration with a
|
||||
**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
|
||||
```bash
|
||||
$ keytool -genkey -alias scm -keyalg RSA -keystore keystore.jks
|
||||
|
||||
Enter keystore password: your password
|
||||
Re-enter new password: your password
|
||||
What is your first and last name?
|
||||
[Unknown]: *your servername*
|
||||
What is the name of your organizational unit?
|
||||
[Unknown]: *organisation unit*
|
||||
What is the name of your organization?
|
||||
[Unknown]: *organisation*
|
||||
What is the name of your City or Locality?
|
||||
[Unknown]: *city*
|
||||
What is the name of your State or Province?
|
||||
[Unknown]: *state*
|
||||
What is the two-letter country code for this unit?
|
||||
[Unknown]: *country code*
|
||||
Is CN=your servername, OU=your organisation unit, O=your organisation, L=your city, ST=your state, C=cc correct?
|
||||
[no]: yes
|
||||
|
||||
Enter key password for <scm>
|
||||
(RETURN if same as keystore password): *password*
|
||||
Re-enter new password: *password*
|
||||
```
|
||||
|
||||
**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:
|
||||
|
||||
```xml
|
||||
<Call name="addConnector">
|
||||
<Arg>
|
||||
<New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
|
||||
<Arg>
|
||||
<!--
|
||||
Exclude SSLv3 to avoid POODLE vulnerability.
|
||||
See https://groups.google.com/d/msg/scmmanager/sX_Ydy-wAPA/-Dvs5i7RHtQJ
|
||||
-->
|
||||
<New class="org.eclipse.jetty.http.ssl.SslContextFactory">
|
||||
<Set name="excludeProtocols">
|
||||
<Array type="java.lang.String">
|
||||
<Item>SSLv2Hello</Item>
|
||||
<Item>SSLv3</Item>
|
||||
</Array>
|
||||
</Set>
|
||||
</New>
|
||||
</Arg>
|
||||
<Set name="Port">8181</Set>
|
||||
<Set name="maxIdleTime">30000</Set>
|
||||
<Set name="keystore"><SystemProperty name="basedir" default="." />/conf/keystore.jks</Set>
|
||||
<Set name="password">*password*</Set>
|
||||
<Set name="keyPassword">*password*</Set>
|
||||
<Set name="truststore"><SystemProperty name="basedir" default="." />/conf/keystore.jks</Set>
|
||||
<Set name="trustPassword">*password*</Set>
|
||||
</New>
|
||||
</Arg>
|
||||
</Call>
|
||||
```
|
||||
|
||||
4\. Start or restart the scm-server
|
||||
|
||||
- - Note\*\*: It looks like there is a error in some version of
|
||||
**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.
|
||||
|
||||
@@ -24,17 +78,33 @@ password. For example:
|
||||
|
||||
1\. Export the certificate from keystore:
|
||||
|
||||
```bash
|
||||
$ keytool -exportcert -keystore keystore.jks -alias scm -rfc -file cert.pem
|
||||
```
|
||||
|
||||
2\. Copy the certificate to your client and add it to your git config:
|
||||
|
||||
```bash
|
||||
$ git config http.sslCAInfo /complete/path/to/cert.pem
|
||||
```
|
||||
|
||||
### Configure Mercurial
|
||||
|
||||
1\. Export the certificate from keystore:
|
||||
|
||||
```bash
|
||||
$ keytool -exportcert -keystore keystore.jks -alias scm -rfc -file cert.pem
|
||||
```
|
||||
|
||||
2\. Copy the certificate to your client and add it to your .hgrc config
|
||||
file:
|
||||
|
||||
```bash
|
||||
[web]
|
||||
cacerts = /complete/path/to/cert.pem
|
||||
```
|
||||
|
||||
### 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")
|
||||
- [Keytool](http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html)
|
||||
- [Jetty SSL-Connectors](http://wiki.eclipse.org/Jetty/Reference/SSL_Connectors)
|
||||
|
||||
@@ -1,43 +1,32 @@
|
||||
Screenshots
|
||||
-----------
|
||||
# Screenshots
|
||||
|
||||
<http://www.scm-manager.org/screenshots/>
|
||||
|
||||
Screenshots pre 1.12
|
||||
--------------------
|
||||
## 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")
|
||||
\|
|
||||
[\
|
||||
*Login*](screenshots/login.png "Login")
|
||||
|
||||
[\
|
||||
*Change Password*](screenshots/change-password.png "Change Password")
|
||||
|
||||
[\
|
||||
*Repository Configuration*](screenshots/repository-config.png "Repository Configuration")
|
||||
|
||||
[\
|
||||
*Repository Details*](screenshots/repository-details.png "Repository Details")
|
||||
|
||||
[\
|
||||
*Repository Overview*](screenshots/repository-overview.png "Repository Overview")
|
||||
|
||||
[\
|
||||
*User Overview*](screenshots/user-overview.png "User Overview")
|
||||
|
||||
[\
|
||||
*Plugin Overview*](screenshots/plugin-overview.png "Plugin Overview")
|
||||
|
||||
[\
|
||||
*Mercurial Configuration Wizard*](screenshots/mercurial-wizard.thumb.png "Mercurial Configuration Wizard")
|
||||
|
||||
[\
|
||||
*Changesetviewer (with Gravatar Plugin)*](screenshots/changesetviewer-gravatar-plugin.png "Changesetviewer (with Gravatar Plugin)")
|
||||
|
||||
BIN
docs/screenshots/helicon-server-vars.png
Normal file
BIN
docs/screenshots/helicon-server-vars.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
@@ -1,5 +1,117 @@
|
||||
Authentication
|
||||
--------------
|
||||
# Snippet: Authentication
|
||||
|
||||
[Complete
|
||||
source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/004-authentication "wikilink")
|
||||
```java
|
||||
package sonia.scm.snippets;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import sonia.scm.SCMContextProvider;
|
||||
import sonia.scm.plugin.ext.Extension;
|
||||
import sonia.scm.user.User;
|
||||
import sonia.scm.web.security.AuthenticationHandler;
|
||||
import sonia.scm.web.security.AuthenticationResult;
|
||||
import sonia.scm.web.security.AuthenticationState;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* Simple {@link AuthenticationHandler} example.
|
||||
*
|
||||
* @author Sebastian Sdorra
|
||||
*/
|
||||
@Extension
|
||||
public class SnippetAuthentication implements AuthenticationHandler
|
||||
{
|
||||
|
||||
/** Type of the {@link AuthenticationHandler} */
|
||||
public static final String TYPE = "snippet";
|
||||
|
||||
//~--- methods --------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Authenticate the user by username and password.
|
||||
*
|
||||
*
|
||||
* @param request current http request
|
||||
* @param response current http response
|
||||
* @param username username of the user
|
||||
* @param password password of the password
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AuthenticationResult authenticate(HttpServletRequest request,
|
||||
HttpServletResponse response, String username, String password)
|
||||
{
|
||||
AuthenticationResult result = AuthenticationResult.NOT_FOUND;
|
||||
|
||||
if ("scm".equals(username))
|
||||
{
|
||||
// user found
|
||||
if ("scmpwd".equals(password))
|
||||
{
|
||||
// authentication success
|
||||
// create a user object
|
||||
User user = new User(username);
|
||||
|
||||
// create the authentication result
|
||||
result = new AuthenticationResult(user, AuthenticationState.SUCCESS);
|
||||
}
|
||||
else
|
||||
{
|
||||
// user found but authentication failed
|
||||
result = AuthenticationResult.FAILED;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Close database connections or something else.
|
||||
*
|
||||
*
|
||||
* @throws IOException
|
||||
*/
|
||||
@Override
|
||||
public void close() throws IOException
|
||||
{
|
||||
|
||||
// do nothing
|
||||
}
|
||||
|
||||
/**
|
||||
* Init database connections or something else.
|
||||
*
|
||||
*
|
||||
* @param context the context of the current SCM-Manager instance.
|
||||
*/
|
||||
@Override
|
||||
public void init(SCMContextProvider context)
|
||||
{
|
||||
|
||||
// do nothing
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
* Returns the type of the {@link AuthenticationHandler}
|
||||
*
|
||||
*
|
||||
* @return type of the {@link AuthenticationHandler}
|
||||
*/
|
||||
@Override
|
||||
public String getType()
|
||||
{
|
||||
return TYPE;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
[Complete source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/004-authentication)
|
||||
|
||||
@@ -1,5 +1,46 @@
|
||||
Extend global configuration
|
||||
---------------------------
|
||||
# Snippet: Extend global configuration
|
||||
|
||||
[Complete
|
||||
source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/003-extend-global-config "wikilink")
|
||||
```javascript
|
||||
// register the new configuration form
|
||||
registerGeneralConfigPanel({
|
||||
// the xtype of the form should be configForm
|
||||
xtype : 'configForm',
|
||||
// title of the form
|
||||
title : 'My Configuration',
|
||||
// array of formular fields
|
||||
items : [{
|
||||
/**
|
||||
* xtype of the formular field. For a
|
||||
* list of the xtype's have a look at
|
||||
* http://docs.sencha.com/ext-js/3-4/#!/api/Ext.Component
|
||||
**/
|
||||
xtype : 'textfield',
|
||||
// label of the field
|
||||
fieldLabel : 'Config name',
|
||||
// name of the field
|
||||
name : 'fomular-field-name',
|
||||
// help for this field
|
||||
helpText: 'Help for this field.',
|
||||
// allow blank values
|
||||
allowBlank : true
|
||||
}],
|
||||
|
||||
/**
|
||||
* this method is called when the form is submitted.
|
||||
* values - the values of the formular
|
||||
**/
|
||||
onSubmit: function(values){
|
||||
// do something
|
||||
},
|
||||
|
||||
/**
|
||||
* this method is called when the form is load
|
||||
* el - the element of the formular
|
||||
**/
|
||||
onLoad: function(el){
|
||||
// do something
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
[Complete source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/003-extend-global-config)
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
### Extend Navigation
|
||||
### Snippet: Extend Navigation
|
||||
|
||||
[Complete
|
||||
source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/001-extend-navigation "wikilink")
|
||||
```javascript
|
||||
// add login callback
|
||||
loginCallbacks.push(function(){
|
||||
// get the main navigation
|
||||
var navPanel = Ext.getCmp('navigationPanel');
|
||||
// insert the new navigation section at the
|
||||
// second position
|
||||
navPanel.insertSection(1, {
|
||||
title: 'My Links',
|
||||
links: [{
|
||||
label: 'Link 1',
|
||||
fn: function(){
|
||||
alert('Link 1');
|
||||
}
|
||||
},{
|
||||
label: 'Link 2',
|
||||
fn: function(){
|
||||
alert('Link 2');
|
||||
}
|
||||
}]
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
[Complete source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/001-extend-navigation)
|
||||
|
||||
@@ -1,5 +1,53 @@
|
||||
Add tab to repository configuration
|
||||
-----------------------------------
|
||||
# Snippet: Add tab to repository configuration
|
||||
|
||||
[Complete
|
||||
source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/002-repository-tab "wikilink")
|
||||
```javascript
|
||||
/**
|
||||
* Register extjs namespace for the plugin.
|
||||
* http://docs.sencha.com/ext-js/3-4/#!/api/Ext-method-ns
|
||||
*/
|
||||
Ext.ns('Sonia.snippets');
|
||||
|
||||
Sonia.snippets.MyPanel = Ext.extend(Ext.Panel, {
|
||||
|
||||
initComponent: function(){
|
||||
var config = {
|
||||
// Title of the panel
|
||||
title: 'My Panel'
|
||||
}
|
||||
|
||||
/**
|
||||
* The apply method merges the initialConfig object with the config object.
|
||||
* The initialConfig object is the config object from the parent panel
|
||||
* (in this case Ext.Panel).
|
||||
* http://docs.sencha.com/ext-js/3-4/#!/api/Ext-method-apply
|
||||
*/
|
||||
Ext.apply(this, Ext.apply(this.initialConfig, config));
|
||||
Sonia.snippets.MyPanel.superclass.initComponent.apply(this, arguments);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* Register xtype of the panel for later use and lazy initialization.
|
||||
* http://docs.sencha.com/ext-js/3-4/#!/api/Ext-method-reg
|
||||
*/
|
||||
Ext.reg("myPanel", Sonia.snippets.MyPanel);
|
||||
|
||||
/**
|
||||
* Register a listener which is called, after repository is selected in the
|
||||
* web interface. The listener passes the selected repository and an array
|
||||
* of panels as argument.
|
||||
*/
|
||||
Sonia.repository.openListeners.push(function(repository, panels){
|
||||
|
||||
/**
|
||||
* Append the new panel to the panels array
|
||||
*/
|
||||
panels.push({
|
||||
// registerd xtype for the panel
|
||||
xtype: 'myPanel'
|
||||
});
|
||||
});
|
||||
```
|
||||
|
||||
[Complete source](https://bitbucket.org/sdorra/scm-code-snippets/src/tip/002-repository-tab)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
Mercurial Subrepositories
|
||||
-------------------------
|
||||
# Mercurial Subrepositories
|
||||
|
||||
In the following examples i will use the [scm-cli-client](command-line-client.md "wikilink")
|
||||
In the following examples i will use the [scm-cli-client](command-line-client.md)
|
||||
to create the repositories, but you can also use the web interface to
|
||||
create the repositories.
|
||||
|
||||
@@ -10,21 +9,34 @@ Create a main repository and for each subrepository a mercurial
|
||||
repository in scm-manager. Than add the subrepositories with the
|
||||
complete url to the .hgsub file.
|
||||
|
||||
```bash
|
||||
java -jar scm-cli-client.jar create-repository -t hg -n main
|
||||
java -jar scm-cli-client.jar create-repository -t hg -n module-1
|
||||
java -jar scm-cli-client.jar create-repository -t hg -n module-2
|
||||
hg clone http://localhost:8081/scm/hg/main
|
||||
cd main
|
||||
echo 'module-1 = http://localhost:8081/scm/hg/module-1' > .hgsub
|
||||
echo 'module-2 = http://localhost:8081/scm/hg/module-2' >> .hgsub
|
||||
hg add .hgsub
|
||||
hg commit -m 'added module-1 and module-2 as subrepositories'
|
||||
hg push
|
||||
```
|
||||
|
||||
### Mercurial nested repositories
|
||||
|
||||
If you already have nested repositories, you have to redirect the nested
|
||||
repository to a real scm-manager repository. This work is done by the
|
||||
[scm-hgnested-plugin](https://bitbucket.org/sdorra/scm-hgnested-plugin "wikilink").
|
||||
[scm-hgnested-plugin](https://bitbucket.org/sdorra/scm-hgnested-plugin).
|
||||
Install the
|
||||
[scm-hgnested-plugin](https://bitbucket.org/sdorra/scm-hgnested-plugin "wikilink")
|
||||
[scm-hgnested-plugin](https://bitbucket.org/sdorra/scm-hgnested-plugin)
|
||||
from the plugin-center (requires scm-manager version 1.10 or higher).
|
||||
Create a repository for the main repository and for each nested
|
||||
repository. Configure the
|
||||
[scm-hgnested-plugin](https://bitbucket.org/sdorra/scm-hgnested-plugin "wikilink")
|
||||
like [this](screenshots/scm-hgnested-plugin.png "wikilink").
|
||||
[scm-hgnested-plugin](https://bitbucket.org/sdorra/scm-hgnested-plugin)
|
||||
like [this](screenshots/scm-hgnested-plugin.png).
|
||||
|
||||
### Further reading
|
||||
|
||||
- <https://bitbucket.org/sdorra/scm-manager/issue/67/add-support-for-mercurial-subrepos>
|
||||
- <https://www.mercurial-scm.org/wiki/Subrepository>
|
||||
- <https://www.mercurial-scm.org/pipermail/mercurial-devel/2011-October/034728.html>
|
||||
- <https://bitbucket.org/sdorra/scm-manager/issue/67/add-support-for-mercurial-subrepos>
|
||||
- <https://www.mercurial-scm.org/wiki/Subrepository>
|
||||
- <https://www.mercurial-scm.org/pipermail/mercurial-devel/2011-October/034728.html>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Trac Plugin #
|
||||
# Trac Plugin
|
||||
|
||||
The plugin enables the following features to integrate SCM-Manager to [Trac](http://trac.edgewall.org/):
|
||||
|
||||
|
||||
@@ -1,32 +1,28 @@
|
||||
Upgrade to a new Version
|
||||
========================
|
||||
# Upgrade to a new Version
|
||||
|
||||
If you would like to update SCM-Manager, you have to do the following
|
||||
steps.
|
||||
|
||||
- Update all plugins: Goto the plugins panel and click every update
|
||||
link
|
||||
- Update all plugins: Goto the plugins panel and click every update link
|
||||
|
||||
The next steps depends on the version you use.
|
||||
|
||||
Upgrade the Standalone version
|
||||
------------------------------
|
||||
## Upgrade the Standalone version
|
||||
|
||||
- Stop the old instance
|
||||
- Rename your old version
|
||||
- Download the latest version of the scm-server bundle
|
||||
- Extract the new version
|
||||
- If you have changed bin/scm-server or one of the files from the conf
|
||||
directory, you have to make the same changes for the new version
|
||||
- If you use a windows service you have to reinstall the service
|
||||
(uninstallService and installService)
|
||||
- Stop the old instance
|
||||
- Rename your old version
|
||||
- Download the latest version of the scm-server bundle
|
||||
- Extract the new version
|
||||
- If you have changed bin/scm-server or one of the files from the conf
|
||||
directory, you have to make the same changes for the new version
|
||||
- If you use a windows service you have to reinstall the service
|
||||
(uninstallService and installService)
|
||||
|
||||
Upgrade the WebArchive (war) version
|
||||
------------------------------------
|
||||
## Upgrade the WebArchive (war) version
|
||||
|
||||
- Download the latest version of the war bundle
|
||||
- Deploy the new version
|
||||
- If you have changed the WEB-INF/scm.properties or the
|
||||
WEB-INF/classes/logback.xml, you have to make the same changes for
|
||||
the new version. After you have done the changes you have to restart
|
||||
your applicationserver.
|
||||
- Download the latest version of the war bundle
|
||||
- Deploy the new version
|
||||
- If you have changed the WEB-INF/scm.properties or the
|
||||
WEB-INF/classes/logback.xml, you have to make the same changes for
|
||||
the new version. After you have done the changes you have to restart
|
||||
your applicationserver.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# API and concepts changes from SCM-Manger v1 to v2
|
||||
|
||||
TODO document api and concept changes while we're migrating plugins
|
||||
*TODO:* document api and concept changes while we're migrating plugins
|
||||
|
||||
@@ -8,59 +8,50 @@ A react component is updated without any changes in the props or states.
|
||||
|
||||
### Fix
|
||||
|
||||
Use the [why-did-you-update](Link https://github.com/maicki/why-did-you-update) library to analyze the causes of the updates.
|
||||
Use the [why-did-you-update](https://github.com/maicki/why-did-you-update) library to analyze the causes of the updates.
|
||||
|
||||
A common cause is the definition of[ new functions in render()](Link https://github.com/maicki/why-did-you-update#changes-are-in-functions-only).
|
||||
A common cause is the definition of [new functions in render()](https://github.com/maicki/why-did-you-update#changes-are-in-functions-only).
|
||||
|
||||
### Example
|
||||
|
||||
|
||||
```
|
||||
#!javascript
|
||||
|
||||
```javascript
|
||||
class Main extends React.Component<Props> {
|
||||
render() {
|
||||
const { authenticated, links } = this.props;
|
||||
const redirectUrlFactory = binder.getExtension("main.redirect", this.props);
|
||||
|
||||
....
|
||||
...
|
||||
|
||||
|
||||
const ActivityRoute = ({ authenticated, links }: RouteProps) => {
|
||||
return (
|
||||
<ProtectedRoute
|
||||
path="/activity"
|
||||
component={() => <Activity activityUrl={links.activity.href} />}
|
||||
authenticated={authenticated && links.activity.href}
|
||||
/>
|
||||
);
|
||||
};
|
||||
const ActivityRoute = ({ authenticated, links }: RouteProps) => {
|
||||
return (
|
||||
<ProtectedRoute
|
||||
path="/activity"
|
||||
component={() => <Activity activityUrl={links.activity.href} />}
|
||||
authenticated={authenticated && links.activity.href}
|
||||
/>
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
binder.bind("main.route", ActivityRoute);
|
||||
```
|
||||
|
||||
the definition of the Component like this:
|
||||
|
||||
|
||||
```javascript
|
||||
component={() => <Activity activityUrl={links.activity.href} />}
|
||||
```
|
||||
#!javascript
|
||||
|
||||
component={() => <Activity activityUrl=links.activity.href} />}
|
||||
```
|
||||
triggers a re-render because:
|
||||
|
||||
```
|
||||
#!javascript
|
||||
|
||||
|
||||
() => <Activity activityUrl=links.activity.href} /> !== () => <Activity activityUrl=links.activity.href} />
|
||||
```javascript
|
||||
() => <Activity activityUrl={links.activity.href} /> !== () => <Activity activityUrl={links.activity.href} />
|
||||
```
|
||||
|
||||
You can avoid it by binding this function in advance and then reusing it on all renders
|
||||
|
||||
|
||||
```
|
||||
#!javascript
|
||||
|
||||
```javascript
|
||||
class ActivityRoute extends React.Component<Props> {
|
||||
constructor(props: Props) {
|
||||
super(props);
|
||||
@@ -85,4 +76,4 @@ class ActivityRoute extends React.Component<Props> {
|
||||
}
|
||||
|
||||
binder.bind("main.route", ActivityRoute);
|
||||
```
|
||||
```
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[TOC]
|
||||
# Descision Table
|
||||
|
||||
# Lombok #
|
||||
### Lombok
|
||||
|
||||
[Project Lombok](https://projectlombok.org/) provides an easy way to generate java beans with
|
||||
|
||||
@@ -26,11 +26,11 @@ The following lombok annotations will be used for DTOs:
|
||||
will be present. Because this one is necessary for deserialization, this one has to be created
|
||||
explicitly when the all-args constructor is declared)
|
||||
|
||||
# /repo/ & /repos/ as URI prefixes #
|
||||
### /repo/ & /repos/ as URI prefixes
|
||||
|
||||
The URI-format for accessing a repository, be it with a browser, or cloning/pulling via git/hg/svn, is defined to be `/repo/:namespace/:name`. The decision was made to allow users to choose namespaces as they please. If there would not be a prefix, some namespaces (e.g. `user`, `users`) would have to be reserved, since the names are already in use by SCM Manager itself. The `/repos` URI linked to a list of repositories, as well as operations such as creating a repositoriy (`/repos/create`).
|
||||
|
||||
# Error handling
|
||||
### Error handling
|
||||
|
||||
In v1 error handling was somewhat diverse. Some checks were made explicitly in the web resource classes leading
|
||||
to direct responses, some were made using exceptions and matching exception mappers.
|
||||
@@ -53,7 +53,7 @@ in runtime exceptions like `RepositoryException` and will lead to internal serve
|
||||
|
||||
For simple objects like users and groups we don't think that we will need more exceptions.
|
||||
|
||||
# Logging
|
||||
### Logging
|
||||
|
||||
Logging can be cucial when it comes to identify bugs in test or production environments. At implementation time one cannot foresee all possible error cases and therefore cannot determine with full certanty what informations will be needed and what can be neglected. Logging only crucial errors leaves the developer with no idea what events might have lead to the error. On the other hand logging too much will overburden the log, making it harder to handle and maybe hiding interesting steps.
|
||||
|
||||
@@ -67,7 +67,7 @@ Therefore it is best practice to be able to select the detail level of informati
|
||||
|
||||
As a default the log level for SCM-Manager is INFO, so that by default all logs with the levels ERROR, WARN and INFO are stored. Finer levels can be enabled manually.
|
||||
|
||||
## Log levels to use
|
||||
### Log levels to use
|
||||
|
||||
We have agreed to apply to the following guidelines regarding log levels:
|
||||
|
||||
@@ -87,4 +87,4 @@ We have agreed to apply to the following guidelines regarding log levels:
|
||||
- concurrent modifications
|
||||
- validation errors
|
||||
- TRACE should be used for normal steps that might be of interest, like
|
||||
- calling functions
|
||||
- calling functions
|
||||
|
||||
@@ -74,11 +74,7 @@ The following extension points are provided for the frontend:
|
||||
**example:**
|
||||
|
||||
|
||||
```
|
||||
#!javascript
|
||||
|
||||
|
||||
|
||||
```javascript
|
||||
let MarkdownFactory = (renderContext) => {
|
||||
|
||||
let Heading= (props) => {
|
||||
@@ -89,20 +85,13 @@ let MarkdownFactory = (renderContext) => {
|
||||
return {heading : Heading};
|
||||
};
|
||||
|
||||
|
||||
|
||||
binder.bind("markdown-renderer-factory", MarkdownFactory);
|
||||
```
|
||||
|
||||
|
||||
```
|
||||
#!javascript
|
||||
|
||||
|
||||
```javascript
|
||||
<MarkdownView
|
||||
renderContext={{pullRequest, repository}}
|
||||
className="content"
|
||||
content={pullRequest.description}
|
||||
/>
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# Known Issues
|
||||
|
||||
## Asnychronous PreReceiveRepositoryHooks do not work with subversion
|
||||
|
||||
The following example will fail to log the changesets.
|
||||
@@ -26,7 +28,6 @@ public class DemoHook {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
This is because of the transaction management of subversion. The scm-manager subversion provider becomes a transaction id for the changes of the current push, but the transaction has finished before scm-manager can resolve the incoming commit. To solve the issue, we could use a synchronous subscription instead e.g.:
|
||||
@@ -55,5 +56,4 @@ public class DemoHook {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Migrate an v1 plugin
|
||||
|
||||
Before starting, make sure to read the [[v2/Plugin Development|Plugin Development]]
|
||||
Before starting, make sure to read the [Plugin Development](Plugin%20Development.md)
|
||||
|
||||
**NOTE**: until there is no release the current version of scm-manager has to be cloned and build on the machine
|
||||
of the plugin developer.
|
||||
@@ -25,7 +25,6 @@ To migrate an existing SCM-Manager 1.x Plugin, you have to do the following step
|
||||
* remove the sonia.scm.maven:scm-maven-plugin from the pom
|
||||
* remove servlet-api from the list of dependencies (not always the case)
|
||||
|
||||
|
||||
```diff
|
||||
diff -r a988f4cfb7ab pom.xml
|
||||
--- a/pom.xml Thu Dec 10 20:32:26 2015 +0100
|
||||
@@ -124,7 +123,7 @@ diff -r a988f4cfb7ab src/main/resources/META-INF/scm/plugin.xml
|
||||
### Java sources (src/main/java)
|
||||
|
||||
* try to compile the sources: `mvn compile`
|
||||
* fix problems (See [[v2/API changes|API changes]])
|
||||
* fix problems (See [API changes](API%20changes.md))
|
||||
* Remove XML accept headers from REST Resource classes -> SCMMv2 supports JSON only
|
||||
* Migrate REST Resources (e.g. `v2`, add to Index Resource, Update Links) - See core plugins Git, Hg, Svn, e.g. [`GitConfigResource`](https://bitbucket.org/sdorra/scm-manager/src/3d5a24c177f33c14a7c08f19e124be03b1a877ba/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/api/v2/resources/GitConfigResource.java)
|
||||
|
||||
@@ -132,6 +131,7 @@ diff -r a988f4cfb7ab src/main/resources/META-INF/scm/plugin.xml
|
||||
|
||||
* remove all SCM-Manager 1.x ui code from resource directory (src/main/resources)
|
||||
* create package.json with the following content (replace name-of-plugin with the name of your plugin):
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "@scm-manager/name-of-plugin",
|
||||
@@ -151,6 +151,7 @@ diff -r a988f4cfb7ab src/main/resources/META-INF/scm/plugin.xml
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* run `mvn process-resources` to install the required JavaScript libraries
|
||||
* run `yarn run ui-bundler init` to create frontend configuration files (TODO add maven goal/phase)
|
||||
* create new ui at `src/main/js` (for JavaScript code) and `src/main/webapp` (for static files) (TODO more help)
|
||||
@@ -161,12 +162,12 @@ Some more hints:
|
||||
|
||||
* For Configuration UIs use [`ConfigurationBinder`](https://bitbucket.org/sdorra/scm-manager/src/c888128358712ab1f5f34ff593e1cf6854b06c08/scm-ui-components/packages/ui-components/src/config/ConfigurationBinder.js) - See core plugins Git, Hg, Svn, e.g. [scm-git-plugin/index.js](https://bitbucket.org/sdorra/scm-manager/src/6d64a380a37db63c95eccbfbf18e4500c9224d32/scm-plugins/scm-git-plugin/src/main/js/index.js).
|
||||
Note that `readOnly` property checks if update link is returned by REST resource
|
||||
* Don't forget [i18n](https://bitbucket.org/sdorra/scm-manager/wiki/v2/i18n%20for%20Plugins)
|
||||
* If you need to add extension points to core SCMM, you can link your local development instance into smp-maven-plugin, see [scm-review-plugin/pom.xml](https://bitbucket.org/scm-manager/scm-review-plugin/src/0ea74634830ef4865afacf714de009302e26353d/pom.xml#lines-72)
|
||||
|
||||
* Don't forget [i18n for Plugins](i18n%20for%20Plugins.md)
|
||||
* If you need to add extension points to core SCMM, you can link your local development instance into smp-maven-plugin, see [scm-review-plugin/pom.xml](https://github.com/scm-manager/scm-review-plugin/commit/0ea74634830ef4865afacf714de009302e26353d#diff-600376dffeb79835ede4a0b285078036R72)
|
||||
|
||||
# Further reading
|
||||
* [scm-manager/ui-extensions README](https://bitbucket.org/scm-manager/ui-extensions/src/master/README.md) - Extension Points within SCM-Manager
|
||||
* [scm-manager/ui-components](https://bitbucket.org/sdorra/scm-manager/src/6d64a380a37db63c95eccbfbf18e4500c9224d32/scm-ui-components/) - Reusable UI components within SCM-Manager
|
||||
* [smp-maven-plugin](https://bitbucket.org/scm-manager/smp-maven-plugin/src/default/) - Plugin that facilitates efficient plugin development for SCMM
|
||||
|
||||
* [scm-manager/ui-extensions README](../../scm-ui/ui-extensions/README.md) - Extension Points within SCM-Manager
|
||||
* [scm-manager/ui-components](https://bitbucket.org/sdorra/scm-manager/src/6d64a380a37db63c95eccbfbf18e4500c9224d32/scm-ui-components/) - Reusable UI components within SCM-Manager
|
||||
* [smp-maven-plugin](https://bitbucket.org/scm-manager/smp-maven-plugin/src/default/) - Plugin that facilitates efficient plugin development for SCMM
|
||||
* [ui-bundler](https://bitbucket.org/scm-manager/ui-bundler/src/master/) - Bundles the UI Resources for plugins
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Permission Concept
|
||||
|
||||
This documents describes a concept for a fine-grained permission managing via the SCMMv2 UI.
|
||||
|
||||
[TOC]
|
||||
|
||||
# Requirements
|
||||
## Requirements
|
||||
|
||||
* Provide at least the features of SCMMv1 including the scm-groupmanager and scm-userrepo plugins.
|
||||
* In addition, the permissions on repositories should be more fine-grained, for example a user that does not have the
|
||||
@@ -10,11 +10,11 @@ This documents describes a concept for a fine-grained permission managing via th
|
||||
* An ideal solution would be generic. That is, not implementing explicit features such as the groupmanager or userrepo.
|
||||
SCMMv2 already evaluates fine-grained permissions, so why not allow our users to assign them?
|
||||
|
||||
# Technical Foundations
|
||||
## Technical Foundations
|
||||
|
||||
## Status Quo SCMv1
|
||||
### Status Quo SCMv1
|
||||
|
||||
[SCMMv1 's permissions](../Permissions) are only related to Repositories:
|
||||
[SCMMv1 's permissions](../Permissions.md) are only related to Repositories:
|
||||
|
||||
* Users can either have the Permission READ, WRITER or OWNER
|
||||
* globally (for all repositories) or
|
||||
@@ -28,7 +28,7 @@ Some more permission-related features are added by plugins:
|
||||
* [scm-groupmanager-plugin](https://bitbucket.org/triologygmbh/scm-groupmanager-plugin/): Allows users to administer groups
|
||||
* [scm-userrepo-plugin](https://bitbucket.org/sdorra/scm-userrepo-plugin/): Allows users to create repositories
|
||||
|
||||
## SCMMv2 Permission fundamentals
|
||||
### SCMMv2 Permission fundamentals
|
||||
|
||||
SCMMv2 introduces much more fine-grained permission checks under the hood.
|
||||
In the code permissions for all kinds of operations are designed as follows:
|
||||
@@ -44,7 +44,7 @@ In addition, there are permissions that do not relate to an item, which are call
|
||||
The challenge solved by this document is to provide a concept that allows SCMMv2 users to manage these permissions.
|
||||
That is, to assign those permissions to users and groups via the UI or REST API.
|
||||
|
||||
## SCMMv2 implementation details
|
||||
### SCMMv2 implementation details
|
||||
|
||||
This is not a core part of the concept but might be interesting when implementing it.
|
||||
|
||||
@@ -82,7 +82,7 @@ When a user logs in, all different kinds of permissions (`*` if admin, permissio
|
||||
from groups, some additional technical permissions such as `autocomplete`, etc.) are collected and added to the Shiro
|
||||
subject in the `DefaultAuthorizationCollector` class.
|
||||
|
||||
## SCMMv2 Core permissions
|
||||
### SCMMv2 Core permissions
|
||||
|
||||
Here are some more examples of permissions existing in SCMMv2 core, at the time of writing.
|
||||
Look for `@StaticPermissions` and note that there the annotation also declares defaults for `permissions` and `globalPermissions`.
|
||||
@@ -105,25 +105,25 @@ Look for `@StaticPermissions` and note that there the annotation also declares d
|
||||
* Permissions: read, modify, delete, healthCheck, pull, push, permissionRead, permissionWrite
|
||||
* Items are the technical ID of dynamically added repositories
|
||||
|
||||
# Repository and global permissions
|
||||
## Repository and global permissions
|
||||
|
||||
In order to fulfill the requirements, this concept describes
|
||||
|
||||
* how to extend the existing repository permissions to be more fine-grained
|
||||
* a new dialog to assign global permissions on user or group level
|
||||
|
||||
# UI / UX
|
||||
## UI / UX
|
||||
|
||||
## Global permissions
|
||||
### Global permissions
|
||||
|
||||
The global permission component can be reached from **either user and groups** components navigations. The following mockup
|
||||
shows this in the user component:
|
||||
|
||||
.
|
||||

|
||||
|
||||
The layout of the permission component UI could look like this:
|
||||
|
||||
.
|
||||

|
||||
|
||||
The UI
|
||||
* queries all available global permissions from the REST API (shiro strings),
|
||||
@@ -131,7 +131,7 @@ The UI
|
||||
* displays descriptions as tooltips,
|
||||
* and queries all user/group permissions to populate the check boxes.
|
||||
|
||||
## Repository permissions
|
||||
### Repository permissions
|
||||
|
||||
The repository permission are already implemented and can be reached via Repositories | Permissions. Right now, it
|
||||
allows for assigning the roles READ, WRITE, OWNER as in SCMMv1 (see above). Internally they are mapped to shiro
|
||||
@@ -139,9 +139,9 @@ permissions (see `PermissionType`).
|
||||
|
||||
The UI is extended like so:
|
||||
|
||||
.
|
||||

|
||||
|
||||
### Existing repository dialog
|
||||
#### Existing repository dialog
|
||||
|
||||
* queries all available repository permissions (shiro strings) and roles from the REST API,
|
||||
* queries all user/group permissions of the repository (shiro strings) and aggregates them to roles to populate the
|
||||
@@ -149,25 +149,25 @@ The UI is extended like so:
|
||||
* Note that the permissions are always stored as shiro strings not roles.
|
||||
* A new `Advanced` button per user or group entry opens a modal dialog
|
||||
|
||||
### New modal dialog
|
||||
#### New modal dialog
|
||||
|
||||
* The modal dialog shows all available repository permissions (shiro strings)
|
||||
* via the shiro string the display name and descriptions are found (see i18n),
|
||||
* displays descriptions as tooltips,
|
||||
* the individual user/group permission of the repo are used to populate the check boxes
|
||||
|
||||
# REST API
|
||||
## REST API
|
||||
|
||||
Note that the examples here are not specified in HAL/HATEOAS for brevity.
|
||||
|
||||
## Global permissions
|
||||
### Global permissions
|
||||
|
||||
Assigning global permissions must be implemented for **either user and groups**!
|
||||
Both use the same available permissions.
|
||||
|
||||
The following shows user as an example.
|
||||
|
||||
### Available global permissions
|
||||
#### Available global permissions
|
||||
|
||||
* URL: `/globalPermissions`
|
||||
* HTTP Method: GET
|
||||
@@ -189,7 +189,7 @@ The following shows user as an example.
|
||||
}
|
||||
```
|
||||
|
||||
### Assigned global permissions
|
||||
#### Assigned global permissions
|
||||
|
||||
* URL: `/users/{id}/permissions/`
|
||||
* HTTP Method: GET/PUT
|
||||
@@ -211,9 +211,9 @@ The following shows user as an example.
|
||||
}
|
||||
```
|
||||
|
||||
## Repository permissions
|
||||
### Repository permissions
|
||||
|
||||
### Available repository permissions
|
||||
#### Available repository permissions
|
||||
|
||||
* URL: `/repositoryPermissions` (similar to `/repositoryTypes`)
|
||||
* HTTP Method: GET
|
||||
@@ -235,7 +235,7 @@ The following shows user as an example.
|
||||
}
|
||||
```
|
||||
|
||||
### Assigned repository permissions
|
||||
#### Assigned repository permissions
|
||||
|
||||
Already implemented in `PermissionRootResource`. Needs to be adpated from roles (`WRITE`) to shiro permissions
|
||||
(`repository:read:42`).
|
||||
@@ -272,7 +272,7 @@ Note that
|
||||
* On PUT, the REST API needs to **validate** that each entry in `permissions` does not contain `:`!
|
||||
Otherwise we might allow for "permission injection", allowing to set permissions on other or all repositories.
|
||||
|
||||
# Java API
|
||||
## Java API
|
||||
|
||||
The biggest technical challenges for this concept are the questions:
|
||||
|
||||
@@ -287,13 +287,13 @@ Where each questions needs to be answered for
|
||||
|
||||
permissions.
|
||||
|
||||
## Global permissions
|
||||
### Global permissions
|
||||
|
||||
|
||||
In order to implement this for global permissions an existing mechanism of SCM-Manager can be used:
|
||||
The `SecuritySystem`, implemented by the `DefaultSecuritySystem`.
|
||||
|
||||
### List available permissions
|
||||
#### List available permissions
|
||||
|
||||
The `DefaultSecuritySystem` reads all `permissions.xml` files from classpath, which also works for plugins (see
|
||||
[Proof Of Concept](https://bitbucket.org/sdorra/scm-manager/commits/4ed74bf266106c48db77d21558452b0c968884cb?at=feature/global_permissions#chg-scm-plugins/scm-git-plugin/src/main/resources/META-INF/scm/permissions.xml)).
|
||||
@@ -308,7 +308,7 @@ For SCMMv2 we could extend this mechanism by
|
||||
The annotations should be extended to support a list of permissions that are not written to `permissions.xml`
|
||||
(e.g. `user:autocomplete`)
|
||||
|
||||
### Assign permissions
|
||||
#### Assign permissions
|
||||
|
||||
The `SecuritySystem` also provides means to assign, store and load permissions to users or groups using Shiro string
|
||||
permissions like so:
|
||||
@@ -323,23 +323,23 @@ log.info("All permissions: {}", securitySystem.getAllPermissions()); // Contains
|
||||
|
||||
See also the [Proof Of Concept](https://bitbucket.org/sdorra/scm-manager/src/4a88315d8f3ce0ad9a7c428da1081fb7e4967fe3/scm-webapp/src/main/java/sonia/scm/api/v2/resources/GlobalPermissionPocResource.java?at=feature/global_permissions).
|
||||
|
||||
### Evaluating permissions
|
||||
#### Evaluating permissions
|
||||
|
||||
The evaluation of permissions assigned via the `SecuritySystem` is already implemented in the
|
||||
`DefaultAuthorizationCollector`.
|
||||
|
||||
### Dynamically add new items to available permissions
|
||||
#### Dynamically add new items to available permissions
|
||||
|
||||
Adding items (e.g. new users) dynamically during runtime is not implemented by the `SecuritySystem` and in order to
|
||||
keep this simple we do not plan to support it, yet. See considered alternatives.
|
||||
|
||||
## Repository Permissions
|
||||
### Repository Permissions
|
||||
|
||||
For repository permissions we need to implement a new mechanism for discovering available permissions .
|
||||
Assigning is already implemented (on role level, e.g. `WRITE`), which needs to be adapted to shiro permission level
|
||||
(e.g. `repository:read:42`).
|
||||
|
||||
### List available permissions
|
||||
#### List available permissions
|
||||
|
||||
We need to implement a new mechanism for discovering available permssions. Let's call it `RepositoryPermissionResolver`.
|
||||
It can work similar to the `DefaultSecuritySystem` (see global permissions). It reads all `repository-permissions.xml`
|
||||
@@ -362,22 +362,22 @@ This obsoletes the `PermissionType` enum.
|
||||
</permissions>
|
||||
```
|
||||
|
||||
### Assign permissions
|
||||
#### Assign permissions
|
||||
|
||||
This is already implemented in `RepositoryManager`s. Needs to be adapted from roles (`WRITE`) to shiro permissions
|
||||
(`repository:read:42`).
|
||||
|
||||
### Evaluating permissions
|
||||
#### Evaluating permissions
|
||||
|
||||
Same here: Already implemented in `DefaultAuthorizationCollector`. Needs to be adapted from roles to shiro permissions.
|
||||
|
||||
## The Admin flag/role
|
||||
### The Admin flag/role
|
||||
|
||||
In addition to the fine-grained permission management described in this concept, we could just keep the admin flag
|
||||
(or role) that add the permission `*` to a user.
|
||||
It's already implemented and a well-known concept from SCMMv1.
|
||||
|
||||
## Permission for managing permissions
|
||||
### Permission for managing permissions
|
||||
|
||||
Once permissions can be managed, an additional permission is necessary that answers the question: Who is allowed to
|
||||
manage permissions?
|
||||
@@ -391,11 +391,11 @@ and write. That is,
|
||||
* `permission:read`
|
||||
* `permission:write`
|
||||
|
||||
# i18n
|
||||
## i18n
|
||||
|
||||
Internationalization can be handled using the following conventions:
|
||||
|
||||
* All permission i18n are described in `plugins.json` (also for core), see [i18n for Plugins](i18n for Plugins)
|
||||
* All permission i18n are described in `plugins.json` (also for core), see [i18n for Plugins](i18n%20for%20Plugins.md)
|
||||
* That way the UI for users and groups can find all the translation in the same file
|
||||
* Convention for i18n keys: `permissions.<shiro-String>`, containing `displayName` and `description` each.
|
||||
|
||||
@@ -412,7 +412,7 @@ Example:
|
||||
}
|
||||
```
|
||||
|
||||
# Group Manager Plugin
|
||||
## Group Manager Plugin
|
||||
|
||||
One shortcoming of limiting the global permission concept to verbs (not items) is that the functionality of the
|
||||
`scm-groupmanager-plugin` is not included.
|
||||
@@ -432,7 +432,7 @@ The following needs to be implemented:
|
||||
* For storing the permission, make use of the `SecuritySystem` to set the `group:*:<id>` permissions.
|
||||
|
||||
|
||||
# Considered alternatives
|
||||
## Considered alternatives
|
||||
|
||||
This chapter documents some other approaches that were considered but rejected and the reasons for rejecting them.
|
||||
|
||||
@@ -450,7 +450,7 @@ This chapter documents some other approaches that were considered but rejected a
|
||||
of userrepo or groupmanager plugins. Those could still be implemented separately. Still, as SCMMv2 provides a
|
||||
mechanism for evaluate permissions on the fine-grained `subject:verb:item` level, why not allow our users to make use of it?
|
||||
|
||||
# Implemented Permissions
|
||||
## Implemented Permissions
|
||||
|
||||
This chapter documents the permissions implemented in SCM-Manager core and a lot of plugins that can be assigned to users and groups
|
||||
using the GUI/API.
|
||||
@@ -458,10 +458,10 @@ Be aware, that this is only a snapshot and may not track each change in a plugin
|
||||
for a concrete version of the core or a plugin, take a look at the corresponding `permissions.xml`, `repository-permissions.xml` and
|
||||
`plugins.json` files.
|
||||
|
||||
## Global Permissions
|
||||
### Global Permissions
|
||||
|
||||
| plugin | permission | description |
|
||||
|-|-|-|
|
||||
|--------|------------|-------------|
|
||||
| core | `repository:read,pull:*` | read all repositories |
|
||||
| core | `repository:read,pull,push:*` | write all repositories |
|
||||
| core | `repository:*` | own all repositories |
|
||||
@@ -501,10 +501,10 @@ for a concrete version of the core or a plugin, take a look at the corresponding
|
||||
| ssh | `user:readAuthorizedKeys:*` | read authorization keys for all users |
|
||||
| ssh | `user:readAuthorizedKeys,writeAuthorizedKeys:*` | configure authorization keys for all users |
|
||||
|
||||
## Repository Permissions
|
||||
### Repository Permissions
|
||||
|
||||
| plugin | verb | description |
|
||||
|-|-|-|
|
||||
|--------|------|-------------|
|
||||
| core | `read` | read metadata of repository |
|
||||
| core | `modify` | modify metadata of repository |
|
||||
| core | `delete` | delete repository |
|
||||
@@ -530,13 +530,13 @@ for a concrete version of the core or a plugin, take a look at the corresponding
|
||||
| branchwp | `branchwp` | administer write protected paths for repository |
|
||||
| webhook | `webhook` | administer web hools for repository |
|
||||
|
||||
## Repository Roles
|
||||
### Repository Roles
|
||||
|
||||
The verbs for roles are merged internally, so that a resulting role will have all verbs specified by any plugin.
|
||||
Mind that a `OWNER` has overall permissions, including all possible permissions for all plugins.
|
||||
|
||||
| plugin | role | verbs |
|
||||
|-|-|-|
|
||||
|--------|------|-------|
|
||||
| core | `READ` | `read`, `pull` |
|
||||
| core | `WRITE` | `read`, `pull`, `push` |
|
||||
| core | `OWNER` | `*` |
|
||||
|
||||
@@ -69,8 +69,8 @@ In order to extend the ui the plugin requires a `package.json` in the project ro
|
||||
```
|
||||
|
||||
The `main` field of the `package.json` describes the main entry point of the plugin.
|
||||
The file specified at `main` should use the `binder` from the [@scm-manager/ui-extensions](https://bitbucket.org/scm-manager/ui-extensions) in oder to bind its extensions.
|
||||
For more information of extensions, binder and extension points, please have a look at the [readme](https://bitbucket.org/scm-manager/ui-extensions/src/master/README.md) of [@scm-manager/ui-extensions](https://bitbucket.org/scm-manager/ui-extensions).
|
||||
The file specified at `main` should use the `binder` from the [@scm-manager/ui-extensions](../../scm-ui/ui-extensions) in oder to bind its extensions.
|
||||
For more information of extensions, binder and extension points, please have a look at the [README.md](../../scm-ui/ui-extensions/README.md) of @scm-manager/ui-extensions.
|
||||
|
||||
If the plugins gets build (`mvn package` or `mvn install`), the [buildfrontend-maven-plugin](https://github.com/sdorra/buildfrontend-maven-plugin), will call the `build` script of `package.json`.
|
||||
The build script triggers the `plugin` command of the [@scm-manager/ui-bundler](https://bitbucket.org/scm-manager/ui-bundler).
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# SCM-Manager v2 Test Cases
|
||||
|
||||
Describes the expected behaviour for SCMM v2 REST Resources using manual tests.
|
||||
|
||||
[TOC]
|
||||
|
||||
# Test Cases
|
||||
|
||||
The following states general test cases per HTTP Method and en expected return code as well as exemplary curl calls.
|
||||
Resource-specifics are stated
|
||||
|
||||
## GET
|
||||
## Test Cases
|
||||
|
||||
### GET
|
||||
|
||||
- Collection Resource (e.g. `/users`)
|
||||
- Without parameters -> 200
|
||||
@@ -23,13 +23,13 @@ Resource-specifics are stated
|
||||
- Unknown field (e.g. `?fields=nam`) returns empty object
|
||||
- without permission (individual and collection (TODO)) -> 401
|
||||
|
||||
## POST
|
||||
### POST
|
||||
|
||||
- not existing -> 204
|
||||
- existing -> 409
|
||||
- without permission -> 401
|
||||
|
||||
## PUT
|
||||
### PUT
|
||||
|
||||
- existing -> 204
|
||||
- lastModified is updated
|
||||
@@ -43,44 +43,37 @@ Resource-specifics are stated
|
||||
- creationDate, lastModified --> 200 is liberally ignored
|
||||
- Additional unmodifiable fields per resource, see examples
|
||||
|
||||
## DELETE
|
||||
### DELETE
|
||||
|
||||
- existing -> 204
|
||||
- not existing -> 204
|
||||
- without permission -> 401
|
||||
|
||||
# Exemplary calls & Resource specific test cases
|
||||
## Exemplary calls & Resource specific test cases
|
||||
|
||||
In order to extend those tests to other Resources, have a look at the rest docs. Note that the Content Type is specific to each resource as well.
|
||||
|
||||
After calling `mvn -pl scm-webapp compile -P doc` the docs are available at `scm-webapp/target/restdocs/index.html`.
|
||||
|
||||
### Users
|
||||
|
||||
## Users
|
||||
#### GET
|
||||
|
||||
### GET
|
||||
|
||||
#### Collections
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Collections
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/users?sortBy=admin&desc=true"
|
||||
```
|
||||
|
||||
#### Individual
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Individual
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/users/scmadmin?fields=name,_links"
|
||||
```
|
||||
|
||||
### POST
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### POST
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin --data '{
|
||||
"properties": null,
|
||||
"active": true,
|
||||
@@ -96,14 +89,12 @@ curl -vu scmadmin:scmadmin --data '{
|
||||
--header "Content-Type: application/vnd.scmm-user+json;v=2" http://localhost:8081/scm/api/v2/users/
|
||||
```
|
||||
|
||||
### PUT
|
||||
#### PUT
|
||||
|
||||
- Change unmodifiable fields
|
||||
- type? -> can be overwritten right now
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"properties": null,
|
||||
"active": true,
|
||||
@@ -119,40 +110,31 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
--header "Content-Type: application/vnd.scmm-user+json;v=2" http://localhost:8081/scm/api/v2/users/xyz
|
||||
```
|
||||
|
||||
### DELETE
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### DELETE
|
||||
|
||||
```bash
|
||||
curl -X DELETE -vu scmadmin:scmadmin http://localhost:8081/scm/api/v2/users/xyz
|
||||
```
|
||||
|
||||
### Groups
|
||||
|
||||
#### GET
|
||||
|
||||
## Groups
|
||||
|
||||
### GET
|
||||
|
||||
#### Collections
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Collections
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/groups/?sortBy=name&desc=true"
|
||||
```
|
||||
|
||||
#### Individual
|
||||
##### Individual
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin http://localhost:8081/scm/api/v2/groups/firstGroup
|
||||
|
||||
```
|
||||
|
||||
### POST
|
||||
#### POST
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin --data '{
|
||||
"creationDate": "2018-06-28T07:42:45.281Z",
|
||||
"lastModified": "2018-06-28T07:42:45.281Z",
|
||||
@@ -169,14 +151,11 @@ curl -vu scmadmin:scmadmin --data '{
|
||||
}
|
||||
}' \
|
||||
--header "Content-Type: application/vnd.scmm-group+json" http://localhost:8081/scm/api/v2/groups/
|
||||
|
||||
```
|
||||
|
||||
### PUT
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### PUT
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"creationDate": "2018-06-28T07:42:45.281Z",
|
||||
"lastModified": "2018-06-28T07:42:45.281Z",
|
||||
@@ -195,40 +174,31 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
--header "Content-Type: application/vnd.scmm-group+json" http://localhost:8081/scm/api/v2/groups/firstGroup
|
||||
```
|
||||
|
||||
### DELETE
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### DELETE
|
||||
|
||||
```bash
|
||||
curl -X DELETE -vu scmadmin:scmadmin http://localhost:8081/scm/api/v2/groups/firstGroup
|
||||
```
|
||||
|
||||
### Repositories
|
||||
|
||||
## Repositories
|
||||
#### GET
|
||||
|
||||
### GET
|
||||
|
||||
#### Collections
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Collections
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/?sortBy=name&pageSize=1&desc=true"
|
||||
```
|
||||
|
||||
#### Individual
|
||||
##### Individual
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/42/arepo"
|
||||
|
||||
```
|
||||
|
||||
### POST
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### POST
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin --data '{
|
||||
"contact": "a@con.tact",
|
||||
"creationDate": "2018-07-11T08:54:44.569Z",
|
||||
@@ -236,17 +206,14 @@ curl -vu scmadmin:scmadmin --data '{
|
||||
"name": "arepo",
|
||||
"type": "git"
|
||||
}' --header "Content-Type: application/vnd.scmm-repository+json" http://localhost:8081/scm/api/v2/repositories
|
||||
|
||||
```
|
||||
|
||||
### PUT
|
||||
#### PUT
|
||||
|
||||
- Change unmodifiable fields
|
||||
- type? -> Leads to 500 right now
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"contact": "anoter@con.tact",
|
||||
"creationDate": "2017-04-11T08:54:45.569Z",
|
||||
@@ -258,20 +225,17 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
}' --header "Content-Type: application/vnd.scmm-repository+json" http://localhost:8081/scm/api/v2/repositories/42/arepo
|
||||
```
|
||||
|
||||
### DELETE
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### DELETE
|
||||
|
||||
```bash
|
||||
curl -X DELETE -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/42/anSVNRepo"
|
||||
```
|
||||
|
||||
|
||||
## Repository Permissions
|
||||
### Repository Permissions
|
||||
|
||||
In this test we do not only test the REST endpoints themselves, but also the effect of the different permissions.
|
||||
|
||||
### Prerequisites
|
||||
#### Prerequisites
|
||||
|
||||
For these tests we assume that you have created
|
||||
|
||||
@@ -280,21 +244,17 @@ For these tests we assume that you have created
|
||||
|
||||
If your entities have other ids, change them according to your data.
|
||||
|
||||
### GET
|
||||
#### GET
|
||||
|
||||
This request should return an empty list of permissions:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/git/permissions/"
|
||||
```
|
||||
|
||||
### POST / READ permission
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### POST / READ permission
|
||||
|
||||
```bash
|
||||
curl -X POST -vu scmadmin:scmadmin --data '{
|
||||
"name": "user", "type":"READ"
|
||||
}' --header "Content-Type: application/vnd.scmm-permission+json"
|
||||
@@ -303,17 +263,13 @@ curl -X POST -vu scmadmin:scmadmin --data '{
|
||||
|
||||
After this, you should be able to `GET` the repository with the user `user`:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -vu user:user "http://localhost:8081/scm/api/v2/repositories/scmadmin/git/permissions/"
|
||||
```
|
||||
|
||||
Trying to change the repository using `PUT` with the user `user` should result in `403`:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -vu user:user -X PUT --data '{
|
||||
"contact": "zaphod.beeblebrox@hitchhiker.com",
|
||||
"namespace":"scmadmin",
|
||||
@@ -326,25 +282,19 @@ curl -vu user:user -X PUT --data '{
|
||||
|
||||
Reading the permissions of the repository with the user `user` should result in `403`:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -vu user:user "http://localhost:8081/scm/api/v2/repositories/scmadmin/git/permissions/"
|
||||
```
|
||||
|
||||
The user should be able to `clone` the repository:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
git clone http://owner@localhost:8081/scm/git/scmadmin/git
|
||||
```
|
||||
|
||||
The user should *not* be able to `push` to the repository:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
cd git
|
||||
touch a
|
||||
git add a
|
||||
@@ -352,13 +302,11 @@ git commit -m a
|
||||
git push
|
||||
```
|
||||
|
||||
### PUT / WRITE permission
|
||||
#### PUT / WRITE permission
|
||||
|
||||
It should be possible to change the permission for a specific user:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"name": "user",
|
||||
"type":"WRITE"
|
||||
@@ -367,18 +315,14 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
|
||||
After this the user `user` should now be able to `push` the repository created and modified beforehand.
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
cd git
|
||||
git push
|
||||
```
|
||||
|
||||
### OWNER permission
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### OWNER permission
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"name": "user",
|
||||
"type":"OWNER"
|
||||
@@ -387,68 +331,57 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
|
||||
After this, the user should be able to `GET` the permissions:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -vu user:user "http://localhost:8081/scm/api/v2/repositories/scmadmin/git/permissions/"
|
||||
```
|
||||
|
||||
Additionally, the user should be able to change permissions:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"name": "user",
|
||||
"type":"OWNER"
|
||||
}' --header "Content-Type: application/vnd.scmm-permission+json" "http://localhost:8081/scm/api/v2/repositories/scmadmin/git/permissions/user"
|
||||
```
|
||||
|
||||
### DELETE
|
||||
#### DELETE
|
||||
|
||||
Finally, a user with the role `OWNER` should be able to delete permissions:
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -X DELETE -vu user:user "http://localhost:8081/scm/api/v2/repositories/scmadmin/git/permissions/user"
|
||||
```
|
||||
|
||||
## Branches
|
||||
### Branches
|
||||
|
||||
* In advance: POST repo.
|
||||
* Clone Repo, add Branches
|
||||
|
||||
### GET
|
||||
#### GET
|
||||
|
||||
#### Collections
|
||||
##### Collections
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/arepo/branches"
|
||||
```
|
||||
|
||||
#### Individual
|
||||
##### Individual
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/arepo/branches/master"
|
||||
```
|
||||
|
||||
## Configuration
|
||||
### Configuration
|
||||
|
||||
### GET
|
||||
#### GET
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config"
|
||||
```
|
||||
|
||||
### PUT
|
||||
|
||||
```
|
||||
#!bash
|
||||
#### PUT
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"proxyPassword": "pw",
|
||||
"proxyPort": 8082,
|
||||
@@ -473,19 +406,17 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
}' --header "Content-Type: application/vnd.scmm-config+json" http://localhost:8081/scm/api/v2/config
|
||||
```
|
||||
|
||||
## Git Plugin Configuration
|
||||
### Git Plugin Configuration
|
||||
|
||||
### GET
|
||||
#### GET
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/git"
|
||||
```
|
||||
|
||||
### PUT
|
||||
#### PUT
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"gcExpression": "0 0 14-6 ? * FRI-MON",
|
||||
"repositoryDirectory": "new",
|
||||
@@ -493,19 +424,17 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
}' --header "Content-Type: application/vnd.scmm-gitConfig+json" http://localhost:8081/scm/api/v2/config/git
|
||||
```
|
||||
|
||||
## Hg Plugin Configuration
|
||||
### Hg Plugin Configuration
|
||||
|
||||
### GET
|
||||
#### GET
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg"
|
||||
```
|
||||
|
||||
### PUT
|
||||
#### PUT
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"repositoryDirectory": "new",
|
||||
"disabled": true,
|
||||
@@ -516,22 +445,19 @@ curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"useOptimizedBytecode": true,
|
||||
"showRevisionInId": true
|
||||
}' --header "Content-Type: application/vnd.scmm-hgConfig+json" http://localhost:8081/scm/api/v2/config/hg
|
||||
|
||||
```
|
||||
|
||||
### Auto Config
|
||||
#### Auto Config
|
||||
|
||||
#### Default
|
||||
##### Default
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -v -X PUT -u scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg/auto-configuration"
|
||||
```
|
||||
|
||||
#### Specific config
|
||||
##### Specific config
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -v -X PUT -u scmadmin:scmadmin --data '{
|
||||
"repositoryDirectory": "new",
|
||||
"disabled": true,
|
||||
@@ -544,113 +470,96 @@ curl -v -X PUT -u scmadmin:scmadmin --data '{
|
||||
}' --header "Content-Type: application/vnd.scmm-hgConfig+json" "http://localhost:8081/scm/api/v2/config/hg/auto-configuration"
|
||||
```
|
||||
|
||||
### Installations
|
||||
#### Installations
|
||||
|
||||
#### Hg
|
||||
##### Hg
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg/installations/hg"
|
||||
```
|
||||
|
||||
#### Python
|
||||
##### Python
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg/installations/python"
|
||||
```
|
||||
|
||||
### Packages
|
||||
#### Packages
|
||||
|
||||
##### GET
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg/packages"
|
||||
```
|
||||
|
||||
##### PUT
|
||||
|
||||
See [here](https://download.scm-manager.org/pkg/mercurial/packages.xml) for available packages. Will only work on Windows!
|
||||
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg/packages/4338c4_x64"
|
||||
```
|
||||
|
||||
### Svn Plugin Configuration
|
||||
|
||||
#### GET
|
||||
|
||||
```
|
||||
#!bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg/packages"
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/svn"
|
||||
```
|
||||
|
||||
#### PUT
|
||||
|
||||
See [here](https://download.scm-manager.org/pkg/mercurial/packages.xml) for available packages. Will only work on Windows!
|
||||
|
||||
```
|
||||
#!bash
|
||||
curl -X PUT -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/hg/packages/4338c4_x64"
|
||||
```
|
||||
|
||||
## Svn Plugin Configuration
|
||||
|
||||
|
||||
### GET
|
||||
|
||||
```
|
||||
#!bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/config/svn"
|
||||
```
|
||||
|
||||
### PUT
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -X PUT -vu scmadmin:scmadmin --data '{
|
||||
"repositoryDirectory": "new",
|
||||
"disabled": true,
|
||||
"enabledGZip": true,
|
||||
"compatibility": "PRE15"
|
||||
}' --header "Content-Type: application/vnd.scmm-svnConfig+json" http://localhost:8081/scm/api/v2/config/svn
|
||||
|
||||
```
|
||||
|
||||
## Repository Types
|
||||
### Repository Types
|
||||
|
||||
### GET
|
||||
#### GET
|
||||
|
||||
#### Collections
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Collections
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repository-types"
|
||||
```
|
||||
|
||||
#### Individual
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Individual
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repository-types/hg"
|
||||
```
|
||||
|
||||
## Tags
|
||||
### Tags
|
||||
|
||||
### GET
|
||||
#### GET
|
||||
|
||||
Pre-conditions: the git repository "HeartOfGold-git" exists and contains tags example v1.0 and v1.1
|
||||
|
||||
#### Collections
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Collections
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/HeartOfGold-git/tags/"
|
||||
```
|
||||
|
||||
#### Individual
|
||||
##### Individual
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/HeartOfGold-git/tags/v1.1"
|
||||
|
||||
```
|
||||
|
||||
## Content
|
||||
### Content
|
||||
|
||||
### git
|
||||
#### git
|
||||
|
||||
#### Prepare
|
||||
##### Prepare
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin --data '{
|
||||
"contact": "a@con.tact",
|
||||
"creationDate": "2018-07-11T08:54:44.569Z",
|
||||
@@ -669,10 +578,10 @@ git add .
|
||||
git commit -m 'Msg'
|
||||
git push
|
||||
```
|
||||
#### Query and assert
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Query and assert
|
||||
|
||||
```bash
|
||||
# Assert Content type text plain
|
||||
curl -X HEAD -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/arepo/content/$(git rev-parse HEAD)/b.txt" 2>&1 | grep Content-Type
|
||||
# Assert file content "bbb"
|
||||
@@ -689,12 +598,11 @@ curl -X HEAD -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositorie
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/arepo/content/$(git rev-parse HEAD)/RestActionResult.java"
|
||||
```
|
||||
|
||||
### hg
|
||||
#### hg
|
||||
|
||||
#### Prepare
|
||||
##### Prepare
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin --data '{
|
||||
"contact": "a@con.tact",
|
||||
"creationDate": "2018-07-11T08:54:44.569Z",
|
||||
@@ -713,11 +621,9 @@ hg commit -m 'msg'
|
||||
hg push
|
||||
```
|
||||
|
||||
#### Query and assert
|
||||
|
||||
```
|
||||
#!bash
|
||||
##### Query and assert
|
||||
|
||||
```bash
|
||||
# Assert Content type text plain
|
||||
curl -X HEAD -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/hgrepo/content/$(hg identify --id)/b.txt" 2>&1 | grep Content-Type
|
||||
# Assert file content "bbb"
|
||||
@@ -734,12 +640,11 @@ curl -X HEAD -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositorie
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/hgrepo/content/$(hg identify --id)/RestActionResult.java"
|
||||
```
|
||||
|
||||
### svn
|
||||
#### svn
|
||||
|
||||
#### Prepare
|
||||
##### Prepare
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin --data '{
|
||||
"contact": "a@con.tact",
|
||||
"creationDate": "2018-07-11T08:54:44.569Z",
|
||||
@@ -757,10 +662,9 @@ svn add ./*
|
||||
svn commit --non-interactive --no-auth-cache --username scmadmin --password scmadmin -m 'msg'
|
||||
```
|
||||
|
||||
#### Query and assert
|
||||
##### Query and assert
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
REVISION=$(svn --non-interactive --no-auth-cache --username scmadmin --password scmadmin info -r 'HEAD' --show-item revision | xargs echo -n)
|
||||
# Assert Content type text plain
|
||||
curl -X HEAD -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/svnrepo/content/${REVISION}/b.txt" 2>&1 | grep Content-Type
|
||||
@@ -778,14 +682,13 @@ curl -X HEAD -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositorie
|
||||
curl -vu scmadmin:scmadmin "http://localhost:8081/scm/api/v2/repositories/scmadmin/svnrepo/content/${REVISION}/RestActionResult.java"
|
||||
```
|
||||
|
||||
## Access Token
|
||||
### Access Token
|
||||
|
||||
### Admin
|
||||
#### Admin
|
||||
|
||||
#### Output all links of index resource
|
||||
##### Output all links of index resource
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content-type: application/json' --data '{
|
||||
"cookie": false,
|
||||
"grant_type": "password",
|
||||
@@ -795,12 +698,11 @@ TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content
|
||||
curl -s http://localhost:8081/scm/api/v2/ -H "Authorization: Bearer ${TOKEN}" | jq
|
||||
```
|
||||
|
||||
#### Output only "config" and default logged in links
|
||||
##### Output only "config" and default logged in links
|
||||
|
||||
default logged in links = self, uiPlugins, me, logout
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content-type: application/json' --data '{
|
||||
"cookie": false,
|
||||
"grant_type": "password",
|
||||
@@ -813,13 +715,11 @@ TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content
|
||||
curl -s http://localhost:8081/scm/api/v2/ -H "Authorization: Bearer ${TOKEN}" | jq
|
||||
```
|
||||
|
||||
### non-Admin
|
||||
#### non-Admin
|
||||
|
||||
Create non-admin user
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
curl -vu scmadmin:scmadmin --data '{
|
||||
"active": true,
|
||||
"admin": false,
|
||||
@@ -832,12 +732,11 @@ curl -vu scmadmin:scmadmin --data '{
|
||||
--header "Content-Type: application/vnd.scmm-user+json;v=2" http://localhost:8081/scm/api/v2/users/
|
||||
```
|
||||
|
||||
#### Standard permissions of a logged in user without additional permissions
|
||||
##### Standard permissions of a logged in user without additional permissions
|
||||
|
||||
Standard links of a logged in user = self, uiPlugins, me, logout, autocomplete, repositories
|
||||
|
||||
```
|
||||
#!bash
|
||||
```bash
|
||||
TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content-type: application/json' --data '{
|
||||
"cookie": false,
|
||||
"grant_type": "password",
|
||||
@@ -847,14 +746,12 @@ TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content
|
||||
curl -s http://localhost:8081/scm/api/v2/ -H "Authorization: Bearer ${TOKEN}" | jq
|
||||
```
|
||||
|
||||
#### Scope requests permission the user doesn't have
|
||||
##### Scope requests permission the user doesn't have
|
||||
|
||||
This should not retrun `configuration` links, even though this scope was requested, because the user does not have the configuration permission. Otherwise this would be a major security flaw!
|
||||
Compare to admin tests above.
|
||||
|
||||
```
|
||||
#!bash
|
||||
|
||||
```bash
|
||||
TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content-type: application/json' --data '{
|
||||
"cookie": false,
|
||||
"grant_type": "password",
|
||||
@@ -865,4 +762,4 @@ TOKEN=$(curl -s 'http://localhost:8081/scm/api/v2/auth/access_token' -H 'content
|
||||
]
|
||||
}')
|
||||
curl -s http://localhost:8081/scm/api/v2/ -H "Authorization: Bearer ${TOKEN}" | jq
|
||||
```
|
||||
```
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
Use this as a kind of a checklist whenever you develop something in the UI of SCM-Manager 2.x., regardless whether you are developing core features or plugins.
|
||||
|
||||
| | Don't forget to |
|
||||
|-|-|
|
||||
| | Don't forget to |
|
||||
|---|-----------------|
|
||||
| ☐ | use imports with `@scm-manager`, eg. `@scm-manager/ui-components` |
|
||||
| ☐ | let buttons have whitespace |
|
||||
| ☐ | update german translation |
|
||||
| ☐ | add help icons to input components |
|
||||
| ☐ | not use colors directly, but refer to `is-primary` or `is-warning` |
|
||||
| ☐ | make sure your view works on mobile devices |
|
||||
| ☐ | document extension points here: https://bitbucket.org/sdorra/scm-manager/wiki/v2/Extension-Points |
|
||||
| ☐ | document [extension points in wiki](Extension-Points.md) |
|
||||
|
||||
@@ -46,7 +46,7 @@ Here are some example error cases:
|
||||
|
||||
In SCM-Manager we make heavy use of Java `Exception`s, not only for technical exceptions in the program flow like reading corrupt file systems, but also for "user errors" like illegal values or requests for missing data.
|
||||
|
||||
These exceptions are handled by JEE [`ExceptionMapper`](https://docs.oracle.com/javaee/7/api/javax/ws/rs/ext/ExceptionMapper.html)s. Doing so, it is possible to concentrate on implementing the "happy path" without the need to explicitly handle error cases everywhere (for example you do not have to check whether got `null` as a result). Nonetheless we still had to decide whether to use checked or unchecked exceptions. We have chosen to use unchecked exceptions due to the following reasons:
|
||||
These exceptions are handled by JEE [`ExceptionMapper`](https://docs.oracle.com/javaee/7/api/javax/ws/rs/ext/ExceptionMapper.html) s. Doing so, it is possible to concentrate on implementing the "happy path" without the need to explicitly handle error cases everywhere (for example you do not have to check whether got `null` as a result). Nonetheless we still had to decide whether to use checked or unchecked exceptions. We have chosen to use unchecked exceptions due to the following reasons:
|
||||
|
||||
- Checked exceptions would have had to be declared everywhere.
|
||||
- A checked exception can somehow trigger a "I have to handle this though I don't know how" feeling that would be wrong, because we do have mappers for these exceptions.
|
||||
@@ -117,7 +117,7 @@ To be able to retrace errors a proper logging is indispensible. So we decided to
|
||||
SCM-Manager uses [http status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) to identify types of errors (and successes, that is) and doing so provides a first hint, what may have gone wrong:
|
||||
|
||||
| Status code | Principal error cause |
|
||||
|-|-|
|
||||
|-------------|-----------------------|
|
||||
| 200 | No error, everything is fine |
|
||||
| 201 | The item has been created without an error |
|
||||
| 204 | The request has been processed without an error |
|
||||
@@ -133,7 +133,7 @@ SCM-Manager uses [http status codes](https://en.wikipedia.org/wiki/List_of_HTTP_
|
||||
Whenever possible, an error response contains useful details about the error in a simple json format. These information are _not_ translated, so this is the responsibility of the frontend.
|
||||
|
||||
| key | content | availability |
|
||||
|-|-|-|
|
||||
|-----|---------|--------------|
|
||||
| transactionId | A unique id to link your request to log messages | always |
|
||||
| errorCode | A code that can be used for translated error messages. To prevent the usage of the same codes in different exceptions we decided to use generated ids. | always |
|
||||
| context | (repo/key, branch/key, ...) | optional |
|
||||
@@ -184,5 +184,5 @@ Basically we have to differentiate between errors the user can handle ("user err
|
||||
|
||||
While creating this concepts we tried to adhere to best practices considering APIs of Twitter, Facebook, Bing, Spotify and others, as summarized in the following articles:
|
||||
|
||||
* https://apigee.com/about/blog/technology/restful-api-design-what-about-errors
|
||||
* https://nordicapis.com/best-practices-api-error-handling/
|
||||
* [RESTful API Design: What About Errors? (Apigee)](https://apigee.com/about/blog/technology/restful-api-design-what-about-errors)
|
||||
* [Best Practices for API Error Handling (Nordic APIS)](https://nordicapis.com/best-practices-api-error-handling/)
|
||||
|
||||
@@ -1,22 +1,31 @@
|
||||
# i18n for Plugins
|
||||
How to internationalize your own plugin
|
||||
---------------------------------------
|
||||
|
||||
### Create the plugins.json file
|
||||
|
||||
The translation file for plugins should be stored in the resources path
|
||||
locales/{lang}/plugins.json
|
||||
locales/*{lang}*/plugins.json
|
||||
|
||||
All translation keys are parts of a \*\*unique root key\*\*. It is
|
||||
recommended to \*\*use the maven artifactId of the plugin as root
|
||||
key\*\* to avoid conflicts with other plugin. All translation files
|
||||
All translation keys are parts of a **unique root key**. It is
|
||||
recommended to **use the maven artifactId of the plugin as root
|
||||
key** to avoid conflicts with other plugin. All translation files
|
||||
would be collected and merged to a single file containing all
|
||||
translations. Therefore it is \*\*necessary to use a unique root key\*\*
|
||||
translations. Therefore it is **necessary to use a unique root key**
|
||||
for the translations.
|
||||
|
||||
//\*\*example:\*\*//
|
||||
***Example:***
|
||||
|
||||
the translation file of the svn plugin is stored in
|
||||
locales/en/plugins.json
|
||||
```json
|
||||
{
|
||||
"scm-svn-plugin": {
|
||||
"information": {
|
||||
"checkout" : "Checkout repository"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Usage in the own React components
|
||||
|
||||
@@ -26,10 +35,25 @@ The following steps are needed to use react-i18next in the own
|
||||
components
|
||||
|
||||
- import react-i18next
|
||||
```javascript
|
||||
import { translate } from "react-i18next";
|
||||
```
|
||||
|
||||
- declare the translation method as property
|
||||
- declare the translation method `t: string => string` as property
|
||||
```javascript
|
||||
type Props = {
|
||||
t: string => string
|
||||
}
|
||||
```
|
||||
|
||||
- wrap the react component with the translate method and give the json
|
||||
translation file name \"plugins\"
|
||||
```javascript
|
||||
export default translate("plugins")(MyPluginComponent);
|
||||
```
|
||||
|
||||
- use the translation keys like this:
|
||||
```javascript
|
||||
const { t } = this.props;
|
||||
<h3>{t("scm-svn-plugin.information.checkout")}</h3>
|
||||
```
|
||||
|
||||
@@ -33,39 +33,43 @@
|
||||
|
||||
* Languages & Frameworks / Javascript
|
||||
* JavaScript language version: Flow
|
||||
* Flow package or executable: .../scm-ui/node_modules/flow-bin
|
||||
* Flow package or executable: .../node_modules/flow-bin
|
||||
|
||||
* Languages & Frameworks / Javascript / Code Quality Tools / ESLint
|
||||
* Enable
|
||||
* ESLint package: .../scm-ui/node_modules/eslint
|
||||
* ESLint package: .../node_modules/eslint
|
||||
* -OR- Automatic ESLint configuration
|
||||
|
||||
* Languages & Frameworks / Javascript / Prettier
|
||||
* Prettier package: .../scm-ui/node_modules/prettier
|
||||
* Prettier package: .../node_modules/prettier
|
||||
|
||||
* Tools / File Watchers
|
||||
* Add Prettier
|
||||
* Deselect: Track only root files
|
||||
* Scope: Current File
|
||||
* Program: $ProjectFileDir$/scm-ui/node_modules/.bin/prettier
|
||||
* Working Directory: $ProjectFileDir$/scm-ui
|
||||
* Program: $ProjectFileDir$/node_modules/.bin/prettier
|
||||
* Working Directory: $ProjectFileDir$
|
||||
|
||||
* Run Configurations / Edit Configuration
|
||||
* Templates / Jest
|
||||
* Jest package: .../scm-ui/node_modules/jest
|
||||
* Jest package: .../node_modules/jest
|
||||
* Jest options: --config node_modules/@scm-manager/ui-bundler/src/jest.ide.config.js
|
||||
|
||||
* Run Configurations / Edit Configuration
|
||||
* Add npm
|
||||
* Name: run-frontend
|
||||
* package-json: .../scm-ui/package.json
|
||||
* package-json: .../package.json
|
||||
* Command: run
|
||||
* Scripts: start
|
||||
* Scripts: serve
|
||||
|
||||
## Both
|
||||
|
||||
### Plugins
|
||||
|
||||
* EditorConfig
|
||||
|
||||
### Settings
|
||||
|
||||
* Editor / Copyright / Copyright Profiles
|
||||
* Add Profile
|
||||
* Name: SCM-MIT
|
||||
|
||||
@@ -8,7 +8,7 @@ Also it is a good guide line to adapt Postel's law: *Be conservative in what you
|
||||
|
||||
## Java
|
||||
|
||||
Please mind the [EditorConfig](https://editorconfig.org/) file `.editorconf` in the root of the SCM-Manager and the [configuration guide](intellij-idea-configuration) for IntelliJ IDEA. There are plugins for a lot of IDEs and text editors.
|
||||
Please mind the [EditorConfig](https://editorconfig.org/) file `.editorconf` in the root of the SCM-Manager and the [configuration guide](intellij-idea-configuration.md) for IntelliJ IDEA. There are plugins for a lot of IDEs and text editors.
|
||||
|
||||
- Indentation with 2 spaces and no tabs (we have kept this rule from 1.x)
|
||||
- Order of members:
|
||||
@@ -24,4 +24,5 @@ Please mind the [EditorConfig](https://editorconfig.org/) file `.editorconf` in
|
||||
- Though we will not define a maximum line length, you should break lines when they go beyond 120 characters or so.
|
||||
|
||||
## JavaScript
|
||||
Take a look at our styleguide using `yarn serve` in ui-styles directory.
|
||||
|
||||
Take a look at our styleguide using `yarn serve` in [ui-styles](scm-ui/ui-styles) directory.
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
WebHook Plugin
|
||||
--------------
|
||||
# WebHook Plugin
|
||||
|
||||
### Installation
|
||||
|
||||
- Login in as administrator
|
||||
- Open Plugins
|
||||
- Install scm-webhook-plugin
|
||||
- Restart your applicationserver
|
||||
- Login in as administrator
|
||||
- Open Plugins
|
||||
- Install scm-webhook-plugin
|
||||
- Restart your applicationserver
|
||||
|
||||
### Usage
|
||||
|
||||
@@ -15,27 +14,24 @@ You could now insert a new webhook for a repository. The url pattern is
|
||||
the url of the remote webserver. It is possible to use placeholders in
|
||||
the url:
|
||||
|
||||
- \${repository.id} - the id of the current repository
|
||||
- \${repository.name} - the name of the current repository
|
||||
- \${first.id} - the if of the first changeset in the push
|
||||
- \${last.author.name} - the name of the author of the last changeset
|
||||
in the commit
|
||||
- `${repository.id}` - the id of the current repository
|
||||
- `${repository.name}` - the name of the current repository
|
||||
- `${first.id}` - the if of the first changeset in the push
|
||||
- `${last.author.name}` - the name of the author of the last changeset in the commit
|
||||
|
||||
If you enable the \"Execute on every commit\" checkbox the last and
|
||||
first patterns are not available, but you could use the commit pattern
|
||||
e.g:
|
||||
|
||||
- \${changeset.id} - The id of the current changeset
|
||||
- \${changeset.author.name} - The name of the author of the current
|
||||
changeset
|
||||
- `${changeset.id}` - The id of the current changeset
|
||||
- `${changeset.author.name}` - The name of the author of the current changeset
|
||||
|
||||
If you need more informations about the available patterns have a look
|
||||
at the javadoc. Ever method which starts with a get could be used in a
|
||||
pattern (Repository.getName() would be \${repository.name}):
|
||||
|
||||
- [repository](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/Repository.html "wikilink")
|
||||
- [changeset, first and
|
||||
last](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/Changeset.html "wikilink")
|
||||
- [repository](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/Repository.html)
|
||||
- [changeset, first and last](http://docs.scm-manager.org/apidocs/latest/sonia/scm/repository/Changeset.html)
|
||||
|
||||
Since version 1.4 of the webhook-plugin there is also a global
|
||||
configuration at \"Config-\>General\". Global WebHooks are executed for
|
||||
|
||||
Reference in New Issue
Block a user