GithubHelp home page GithubHelp logo

scm-manager / scm-manager Goto Github PK

View Code? Open in Web Editor NEW
129.0 14.0 26.0 145.78 MB

The easiest way to share and manage your Git, Mercurial and Subversion repositories over http.

Home Page: https://scm-manager.org

License: MIT License

Dockerfile 0.01% Java 74.80% TypeScript 20.52% HTML 0.91% Python 0.21% Shell 0.16% JavaScript 0.43% Go 0.01% FreeMarker 0.03% Groovy 0.42% SCSS 0.39% CSS 1.88% Mustache 0.12% HCL 0.02% MDX 0.10%
git mercurial hg subversion svn java scm scm-manager cloudogu

scm-manager's Introduction

SCM-Manager

The easiest way to share and manage your Git, Mercurial and Subversion repositories.

  • Very easy installation
  • No need to hack configuration files, SCM-Manager is completely configurable from its Web-Interface
  • No Apache and no database installation required
  • Central user, group and permission management
  • Out of the box support for Git, Mercurial and Subversion
  • Full RESTFul Web Service API (JSON and XML)
  • Rich User Interface
  • Simple Plugin API
  • Useful plugins available
  • Licensed under the MIT-License

This branch (develop) is for the development of SCM-Manager 2.x. If you are interested in the development of version 1.x, please checkout the branch support/1.x.

News

All news regarding SCM-Manager will be published in our blog.

Support / Community

Contact the SCM-Manager community support

Documentation

You can find the complete documentation on our homepage.

Development

The build of SCM-Manager requires the following installed packages:

  • Git
  • JDK 11
  • Mercurial (required for tests)
  • Docker (required for the docker package)

The build of SCM-Manager requires Java 11.

Tasks

SCM-Manager uses Gradle for the build. The build itself is organized in tasks, the tasks can be executed with the gradle wrapper:

# on *nix
./gradlew taskname

# on windows
gradlew.bat taskname

This following tables describes some high level tasks, which should cover most of the daily work.

Name Description
run Starts an SCM-Manager with enabled livereload for the ui
build Executes all checks, tests and builds the smp inclusive javadoc and source jar
distribution Builds all distribution packages of scm-packaging
check Executes all registered checks and tests
test Run all unit tests
integrationTest Run all integration tests of scm-it
clean Deletes the build directory

The next table defines a few more tasks which are more relevant for CI servers.

Name Description
publish Publishes all artifacts and packages (required properties, see section 'Properties for publishing')
sonarqube Executes a SonarQube analysis
setVersion Sets the version to a new version
setVersionToNextSnapshot Sets the version to the next snapshot version

There many more tasks, which are executed as part of the high level tasks, and it should rarely be necessary to call them individually. To see the full list of available tasks, execute the following command:

# on *nix
./gradlew tasks

# on windows
gradlew.bat tasks

Dependencies

Dependencies and their versions are configured in the gradle/dependencies.gradle. Versions of dependencies can be specified as exact version or as a range of versions. In order to keep the build consistent and reproducible, we use gradle dependency locking. Whenever a dependency was added, changed or removed the lock files must be refreshed e.g.:

# on *nix
./gradlew resolveAndLockAll --write-locks

# on windows
gradlew.bat resolveAndLockAll --write-locks

Artifacts and reports

Artifacts and reports which are created from the tasks are stored in the build directory of each subproject.

Debugging

If you want to debug the run task of SCM-Manager. You can provide the --debug-jvm option, which starts the SCM-Manager jvm in debug mode. Then you can attach a debugger on port 5005. The port can be changed by using the --debug-port e.g.: --debug-port=5006. If you want to wait until a debugger is attached, before SCM-Manager starts you can use the --debug-wait option.

Distribution

SCM-Manager provides various modules to deploy SCM-Manager on differnt platforms (e.g. Docker, Helm, RPM, DEB, Windows). Those modules are not build by default. To build the distribution modules specify the enablePackaging property e.g.:

# on *nix
./gradlew -PenablePackaging distribution

# on windows
gradlew.bat -PenablePackaging distribution

The command above will refresh the lock files of all sub projects and all configurations.

Properties for publishing

The publishing process requires the following properties for authentication and signing. Those properties should be stored in ~/.gradle/gradle.properties.

Property Description
packagesScmManagerUsername Username for packages.scm-manager.org
packagesScmManagerPassword Password for packages.scm-manager.org
dockerUsername Username for Docker Hub
dockerPassword Password or Api Token for Docker Hub
gitHubApiToken Api Token for GitHub
npmEmail Email of NPM account
npmToken Access Token for NPM account
signing.keyId Id of gpg secret key for signing
signing.password Passphrase of gpg secret key
signing.secretKeyRingFile Path to gpg secret key ring file

Need help?

Looking for more guidance? Full documentation lives on our homepage or the dedicated pages for our plugins. Do you have further ideas or need support?

  • Community Support - Contact the SCM-Manager support team for questions about SCM-Manager, to report bugs or to request features through the official channels. Find more about this here.

  • Enterprise Support - Do you require support with the integration of SCM-Manager into your processes, with the customization of the tool or simply a service level agreement (SLA)? Contact our development partner Cloudogu! Their team is looking forward to discussing your individual requirements with you and will be more than happy to give you a quote. Request Enterprise Support.

scm-manager's People

Contributors

cesmarvin avatar dasilva2010 avatar davidmc24 avatar dependabot[bot] avatar dhuchthausen avatar eheimbuch avatar fscholdei avatar gstefanik avatar ischindler avatar janikakefel avatar lgorzitze avatar matthiasthieroff avatar mbehlendorf avatar mharbison72 avatar mohamedkarray avatar msuewer avatar pfeuffer avatar phil-ah avatar pilopa avatar pmarkiewka avatar ppxl avatar schnatterer avatar schristann avatar sdorra avatar seeraven avatar snyk-bot avatar thoppenheidt avatar thorsten-l avatar viraptor avatar zt-1337 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scm-manager's Issues

Git repo problems

Original report by Anonymous.


Im getting a status error 200, and 401 when trying to view the source and commits to a repo in scm.

Im using

output of /etc/issue
Debian GNU/Linux 5.0 \n \l

Error on Cloning Repo through http

Original report by Pietro Piccoli (Bitbucket: rider_pie, ).


If I try to clone repository through http URL like that:
hg clone --verbose http://webserver:8080/scm/hg/HGPie
I got Client and Server error:

% hg clone --verbose http://webserver:8080/scm/hg/HGPie 'content-type' [command returned code 255 Thu Apr 21 10:01:48 2011]

10:09:16.604 [qtp8918249-22] WARN sonia.scm.web.cgi.DefaultCGIExecutor - Traceback (most recent call last):
File "C:\Programmi\scm-server1.1\scm-server\bin..\confapp\cgi-bin\hgweb.py", line 13, in
from mercurial import demandimport; demandimport.enable()
ImportError: Bad magic number in C:\Python27\lib\mercurial_init_.pyc
10:09:16.604 [qtp8918249-22] WARN sonia.scm.web.cgi.DefaultCGIExecutor - process ends with exit code 1

Any suggestions to avoid this?

Thanks in advance.

Trusted domains are not detected properly.

Original report by Michał Sznajder (Bitbucket: michalsznajder, GitHub: michalsznajder).


As a result of <<issue 28>> scm-manager is able to authenticate users using DOMAIN\user scheme. This enables users to login into scm-manager not only using primary domain but also using trusted domain of their network.

With <<issue 28>> some basic code for detecting trusted domains was added but it seems it does not work in my case. I will try to provide some input on my AD topology.

Error on Writing conf.xml

Original report by Pietro Piccoli (Bitbucket: rider_pie, ).


Hi,
after I've pushed save button on Config->General I got the error:

GRAVE: The RuntimeException could not be mapped to a response, re-throwing to t
e HTTP container
javax.xml.bind.DataBindingException: javax.xml.bind.MarshalException

  • with linked exception:
    [java.io.FileNotFoundException: C:\Documents%20and%20Settings\Administrator.scm\config\config.xml (Impossibile trovare il percorso specificato)]
    at javax.xml.bind.JAXB._marshal(Unknown Source)
    at javax.xml.bind.JAXB.marshal(Unknown Source)
    at sonia.scm.api.rest.resources.ConfigurationResource.setConfig(Configu
    ationResource.java:153)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMet
    odDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchP
    ovider.java:186)
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodD
    spatcher.dispatch(ResourceJavaMethodDispatcher.java:70)
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMetho
    Rule.java:279)
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(Resour
    eClassRule.java:86)

But scm-server write correctly files like repositories.xml in the same folder.
Is it possible change the path of the .scm folder before the server starts?

HTTPS Support

Original report by Sergio Paganoni (Bitbucket: wizche, GitHub: wizche).


Hi All,
I used for almost a couple of months scm-manager and it was really helpfully, now I'd like to migrate to HTTPS the comunication.

I've configured the relative section in server-config.xml:

#!XML
  <Call name="addConnector">
      <Arg>
        <New class="org.mortbay.jetty.security.SslSocketConnector">
        <Set name="Port">443</Set>
        <Set name="maxIdleTime">30000</Set>
        <Set name="keystore"><SystemProperty name="jetty.home" default="." />/home/wizche/scm-server/ssh/keystore</Set>
        <Set name="password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
        <Set name="keyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
        <Set name="truststore"><SystemProperty name="jetty.home" default="." />/home/wizche/scm-server/ssh/keystore</Set>
        <Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
      </New>
    </Arg>
  </Call>

When I try now to start scm I receive the following error:
wizche@scm-01:/scm-server/bin$ ./scm-server
2011-04-11 19:30:44.209:WARN::Config error at | | | 443| 30000| /home/wizche/scm-server/ssh/keystore| OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4| OBF:1u2u1wml1z7s1z7a1wnl1u2g| /home/wizche/scm-server/ssh/keystore| OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4| | | java.lang.ClassNotFoundException: org.mortbay.jetty.security.SslSocketConnector
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: sonia.scm.server.ScmServerException: error during server configuration
at sonia.scm.server.ScmServer.(ScmServer.java:80)
at sonia.scm.server.ScmServerDaemon.(ScmServerDaemon.java:50)
Caused by: java.lang.ClassNotFoundException: org.mortbay.jetty.security.SslSocketConnector
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.jetty.util.Loader.loadClass(Loader.java:90)
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.nodeClass(XmlConfiguration.java:353)
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:748)
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1108)
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1023)
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:693)
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:386)
at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:318)
at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:273)
at sonia.scm.server.ScmServer.(ScmServer.java:76)
... 1 more
Could not find the main class: sonia.scm.server.ScmServerDaemon. Program will exit.
wizche@scm-01:
/scm-server/bin$

It seems that scm cannot locate **org.mortbay.jetty.security.SslSocketConnector ** during the startup, is the connector included somewhere in the jar library packages provided with scm?

Any help really appreciated...

My version: scm-server 1.1 (last stable)

x86_64 wrapper not included

Original report by Stanisław Pitucha (Bitbucket: [Stanisław Pitucha](https://bitbucket.org/Stanisław Pitucha), ).


When I try building from source, only the x86_32 wrapper is detected by the bin/scm-server script (standalone build). The execution stops later on when the script is unable to find libwrapper-linux-x86-64.so

The script works after I download both the wrapper and libwrapper.so from the appropriate package from upstream, but I guess they should be included locally too.

Content-Length: NumberFormatException when accessing the repository from within eclipse

Original report by Stefan Bechtold (Bitbucket: sbechtold, GitHub: sbechtold).


It seems that there is a problem when using eclipse and subversive (eclipse plugin) to access the SVN repository. I checked it from within the browser and that worked out very well.

In the logfile of my eclipse workspace I found the following exception:

!ENTRY org.eclipse.team.svn.core.svnnature 4 0 2011-05-28 19:12:43.094
!MESSAGE SVN: '0x00000230: Get Repository Folder Children' operation finished with error
!SUBENTRY 1 org.eclipse.team.svn.core.svnnature 4 0 2011-05-28 19:12:43.094
!MESSAGE Get repository folder children operation failed.
!STACK 0
org.eclipse.team.svn.core.connector.SVNConnectorException: svn: For input string: ""
	at org.polarion.team.svn.connector.svnkit.SVNKitConnector.handleClientException(SVNKitConnector.java:1424)
	at org.polarion.team.svn.connector.svnkit.SVNKitConnector.list(SVNKitConnector.java:1274)
	at org.eclipse.team.svn.core.extension.factory.ThreadNameModifier.list(ThreadNameModifier.java:278)
	at org.eclipse.team.svn.core.utility.SVNUtility.list(SVNUtility.java:335)
	at org.eclipse.team.svn.core.svnstorage.SVNRepositoryContainer.getChildren(SVNRepositoryContainer.java:79)
	at org.eclipse.team.svn.core.operation.remote.GetRemoteFolderChildrenOperation.runImpl(GetRemoteFolderChildrenOperation.java:76)
	at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:81)
	at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104)
	at org.eclipse.team.svn.core.operation.CompositeOperation.runImpl(CompositeOperation.java:95)
	at org.eclipse.team.svn.core.operation.AbstractActionOperation.run(AbstractActionOperation.java:81)
	at org.eclipse.team.svn.core.operation.LoggedOperation.run(LoggedOperation.java:39)
	at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTask(ProgressMonitorUtility.java:104)
	at org.eclipse.team.svn.core.utility.ProgressMonitorUtility.doTaskExternal(ProgressMonitorUtility.java:90)
	at org.eclipse.team.svn.ui.utility.DefaultCancellableOperationWrapper.run(DefaultCancellableOperationWrapper.java:55)
	at org.eclipse.team.svn.ui.utility.ScheduledOperationWrapper.run(ScheduledOperationWrapper.java:37)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.tigris.subversion.javahl.ClientException: svn: For input string: ""
	at org.tigris.subversion.javahl.JavaHLObjectFactory.throwException(JavaHLObjectFactory.java:778)
	at org.tmatesoft.svn.core.javahl.SVNClientImpl.throwException(SVNClientImpl.java:1924)
	at org.tmatesoft.svn.core.javahl.SVNClientImpl.list(SVNClientImpl.java:365)
	at org.tmatesoft.svn.core.javahl.SVNClientImpl.list(SVNClientImpl.java:337)
	at org.polarion.team.svn.connector.svnkit.SVNKitConnector.list(SVNKitConnector.java:1263)
	... 14 more
Caused by: org.tmatesoft.svn.core.SVNException: svn: For input string: ""
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDir(DAVRepository.java:373)
	at org.tmatesoft.svn.core.io.SVNRepository.getDir(SVNRepository.java:1309)
	at org.tmatesoft.svn.core.wc.SVNLogClient.list(SVNLogClient.java:1373)
	at org.tmatesoft.svn.core.wc.SVNLogClient.doList(SVNLogClient.java:1364)
	at org.tmatesoft.svn.core.wc.SVNLogClient.doList(SVNLogClient.java:1213)
	at org.tmatesoft.svn.core.javahl.SVNClientImpl.list(SVNClientImpl.java:350)
	... 16 more
Caused by: java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
	at java.lang.Long.parseLong(Long.java:431)
	at java.lang.Long.parseLong(Long.java:468)
	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getDir(DAVRepository.java:371)
	... 21 more

The number format exception is a result of an attempt of parsing the content-length of the current directory element (within the directory listing). It occurs whenever I use the SVN Repository Browser and open the first level of an non-empty repository. I'm not quite sure if this issue is still related with the SCM-Manager but I do not run into this problem if I configure my server's apache to serve the SVN repository via DAV. So it feels as if there still is a little issue within the service. :-(

Is there any kind of detection of the user's client? Maybe the headers sent from the subversive eclipse plugin do not match any detection rules...

Can't read from Plugin Page

Original report by Anonymous.


I downloaded scm-manager and started it but there is an issue in case I try to read the plugins. I'm able to see the xml file in case I'm using my browser

Webapp is running and I can login

Message: Fehler: Es konnten keine Daten geladen werden. Server-Status: 500

From the cmd:
SCHWERWIEGEND: The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
sonia.scm.plugin.PluginLoadException: java.net.ConnectException: Connection timed out: connect
at sonia.scm.plugin.DefaultPluginManager.getPluginCente(DefaultPluginManager.java:562)

Can't Move or Rename SVN Directories

Original report by Anonymous.


The command "svn move" fail with a java.lang.NoSuchFieldError :

java.lang.NoSuchFieldError: REVISION at org.tmatesoft.svn.core.internal.server.dav.handlers.DAVMergeInfoRequest.init(DAVMergeInfoRequest.java:68)
at org.tmatesoft.svn.core.internal.server.dav.handlers.ServletDAVHandler.readInput(ServletDAVHandler.java:1803)
at org.tmatesoft.svn.core.internal.server.dav.handlers.DAVReportHandler.execute(DAVReportHandler.java:163)
at org.tmatesoft.svn.core.internal.server.dav.DAVServlet.service(DAVServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
at com.google.inject.servlet.FilterChainInvocation.doFilter(Filte) in response to REPORT request for '/scm/svn/repo_name/!svn/bc/0/folder_to_move'

git push doesn't work

Original report by tarul (Bitbucket: tarul, GitHub: tarul).


Hello,

I have just tried to push commits on git repository hosted by scm-manager (it's a very good web app, thanks!).

I can clone, but if I try push I only this response :
"Everything up-to-date"
But, commits have not pushed.

Regards

Edit : i will forget, i have 1.7.4.4 of git.

Problems with path that has non-URL characters in it

Original report by Anonymous.


Whenever you have a path that contains characters that will be URL encoded the server throws a "Path not Found" 500 error. It seems that the path resolver does not decode the URL and uses it as-it-is.

We are running SCM-Manager at a Tomcat 6.0.30.

Stacktrace:

message org.tmatesoft.svn.core.SVNException: svn: Path '/Seminar%20Algorithm%20Engineering' you requested not found at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.server.dav.handlers.DAVGetHandler.execute(DAVGetHandler.java:52) at org.tmatesoft.svn.core.internal.server.dav.DAVServlet.service(DAVServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63) at sonia.scm.web.filter.PermissionFilter.doFilter(PermissionFilter.java:148) at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:100) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at sonia.scm.web.filter.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:143) at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:100) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at sonia.scm.filter.SSLFilter.doFilter(SSLFilter.java:93) at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:100) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110) at sonia.scm.boot.BootstrapFilter.doFilter(BootstrapFilter.java:104) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662)

description The requested resource (org.tmatesoft.svn.core.SVNException: svn: Path '/Seminar%20Algorithm%20Engineering' you requested not found at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.server.dav.handlers.DAVGetHandler.execute(DAVGetHandler.java:52) at org.tmatesoft.svn.core.internal.server.dav.DAVServlet.service(DAVServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:216) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:141) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:63) at sonia.scm.web.filter.PermissionFilter.doFilter(PermissionFilter.java:148) at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:100) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at sonia.scm.web.filter.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:143) at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:100) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:134) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at sonia.scm.filter.SSLFilter.doFilter(SSLFilter.java:93) at sonia.scm.web.filter.HttpFilter.doFilter(HttpFilter.java:100) at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:129) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:59) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:122) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:110) at sonia.scm.boot.BootstrapFilter.doFilter(BootstrapFilter.java:104) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) ) is not available.

Creating a repository with compabitility

Original report by mbickel (Bitbucket: mbickel, GitHub: mbickel).


Would be nice to have a possibility to activate the compabitility for Subversion version 1.4 and 1.5

This is already an option in the subversion package:

#!sh
svnadmin create --pre-1.4-compatible
svnadmin create --pre-1.5-compatible

Background: I have to import a dump and it expects FS 1-3, but SCM-Manager creates in FS 4

Support applying permissions to groups as well as users

Original report by David M. Carr (Bitbucket: [David M. Carr](https://bitbucket.org/David M. Carr), ).


In the permissions form for a repository, you should be able to specify permissions either to individual users (which is already supported) or groups. These permissions should be additive, meaning that a user is granted the highest level of permission that is applicable to them, regardless of whether it came from a group or individual permission assignment.

It may be useful to store user and group permission assignments separately to support users and groups with the same name. For example, in some cases it might be desirable to have both a QA user and a QA group.

Example:

  • Users bob belongs to group Dev and Product1
  • Users steve belongs to group Dev and Product1
  • User jane belongs to group QA and Product1
  • User jill belongs to group QA

Repository 1:

  • user bob OWNER
  • group Product1 READ
  • group Dev WRITE

Effective permissions:

  • bob: individual OWNER permission is higher than WRITE from Dev or READ from Product1
  • steve: WRITE permission from Dev is higher than READ permission from Product1
  • jane: READ permission from Product1
  • jill: NONE

Support for directory structure

Original report by Robert (Bitbucket: rros, GitHub: rros).


We recently switched to scm-manager and we use mercurial as our default scm. In mercurial we don't use named-branches but the clone-per-branch model. In our old setup we used a directory structure like this:

+ Project
| - 2.3
| - 2.4
| - 3.0
+ OtherProject
| - 1.1
...

So Project and OtherProject are just directories and the sub directories are mercurial repositories (clones-per-branch).

Currently scm-manager only supports a flat structure. We had to rename our structure to something like Project-2.3 and OtherProject-1.1.

I think it would be nice if we could use the directory structure again. This should also work for other scms. Maybe just to categorize your repostitories or maybe like us, to group your branches.

Git repository authentication with ssh-key

Original report by ChrisM (Bitbucket: Krimsar, GitHub: Krimsar).


I've tried several GUI-Tools and most of them fail to handle http authentication properly (ether they don't ask for the user/pass and fail silently, or they don't provide a way to save the credentials).

Therefore I would like to see authentication support with a ssh-key-file, if that's possible at all.

Any other suggestions?

Win2008x64 - Launching issue

Original report by Sergio Paganoni (Bitbucket: wizche, GitHub: wizche).


Hi,
I fall into this error during the launch of the scm-server:

C:\scm-server>bin\scm-server console
wrapper | --> Wrapper Started as Console
wrapper | Launching a JVM...
wrapper | Unable to execute Java command. The system cannot find the file spec
ified. (0x2)
wrapper | "java" -Xms256m -Xmx256m -Djava.library.path="lib" -classpath "li
b/wrapper.jar;conf;lib/scm-server-1.0-M7.pom;lib/scm-server-api-1.0-M7.jar;lib/s
cm-server-jetty-1.0-M7.jar;lib/jetty-server-7.1.6.v20100715.jar;lib/servlet-api-
2.5.jar;lib/jetty-webapp-7.1.6.v20100715.jar" -Dwrapper.key="hEj8c6ttRjlNX6CS" -
Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -D
wrapper.pid=1868 -Dwrapper.version="3.2.3" -Dwrapper.native_library="wrapper" -D
wrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSim
pleApp sonia.scm.server.ServerApplication
wrapper | Critical error: wait for JVM process failed
Press any key to continue . . .

My OS:
Windows Server 2008 x64 R2
java version "1.6.0_23"

Java(TM) SE Runtime Environment (build 1.6.0_23-b05)

Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)

svn checkout abort does not disconnect socket

Original report by StephanO (Bitbucket: StephanO, GitHub: StephanO).


I have noticed this problem on our Windows 2003 server with Tomcat 7.0.20 and the NioHttpConnector.

When I perform a SVN checkout and abort the checkout on the client, the server keeps dumping data to the socket. For some reason the client side connection abort does not trigger the server socket to close. I use the NIO connector, have not tested it with the 'normal' http connector.

Support for full domain names in ActiveDirectory plugin

Original report by Michał Sznajder (Bitbucket: michalsznajder, GitHub: michalsznajder).


I am using scm-manager in Windows environment for Mercurial access. I've enabled ActiveDirectory plugin so user of my domain have access. But there is another trusted domain in my environment. Users from both domains can access resources on computers from both domains.

Would it be a big deal to add a small check that if we try to login in a user that has login like "DOMAIN\user" (eg. backslash inside) we will try to authenticate over provided domain and not a default one?

Can't push in a git repository with public visibility

Original report by Thierry L. (Bitbucket: [Thierry L.](https://bitbucket.org/Thierry L.), ).


With Egit, you can't push to a repository if the repository is "public" ("Public" field checked ine the repo settings)

It's as the repo considered only anonymous access although some write permissions are defined.

The scm-manager's console displays the following message:
//sonia.scm.web.filter.PermissionFilter - user anonymous has not enough permissions
//

Note also another little orthography mistake in an INFO message (trailing "t"in repostitory):
//sonia.scm.web.filter.PermissionFilter - write access to repostitory test for user anonymous denied
//

Filter and search functionality in Repositories tab

Original report by Robert (Bitbucket: rros, GitHub: rros).


We have about 150 subversion repositories and about 50 mercurial repositories at our server. With 200 repositories in the repositories view it's kind of hard to find the repository you were looking for.

I propose the following filter/search options:

  • a filter to show the repositories of a certain type
  • a search field that filters the view based on the repository name (i.e. with some ajax search like google instant uses)

user can clone repository that they should be able to access

Original report by lcutler57 (Bitbucket: lcutler57, ).


There are 2 git repositories, ZebOS and ERS.

With no tester user in SCM manager, checkouts to ERS and ZebOS fail. This is as expected.

With "tester" user permissions, write, for ERS and not ZebOS (no logins for anyone in ZebOS), "tester" was able to clone ZebOS and ERS. Tester should only be able to clone ERS.

Should handle authentication timeouts gracefully

Original report by ChrisM (Bitbucket: Krimsar, GitHub: Krimsar).


When you let scm-manager sit in the background for a while, let the session timeout, and then start using it again, you get a lot of different errors.

  • If you try to install a plugin it fails with a non descriptive error
  • When you try to access the general configuration you get multiple errors and an empty error box

Thanks for this great app, it was exactly what we were looking for!

Tomcat 7.0.19 deployment

Original report by Anonymous.


Hi,

I tried to deploy the SCM Manager war on Apache Tomcat 7.0.19 but it failed with the following error in the catalina.log

SEVERE: Exception starting filter guiceFilter
com.google.inject.ProvisionException: Guice provision errors:

  1. Error injecting constructor, java.lang.NullPointerException
    at sonia.scm.template.FreemarkerTemplateHandler.(FreemarkerTemplateHandler.java:93)
    at sonia.scm.template.FreemarkerTemplateHandler.class(FreemarkerTemplateHandler.java:80)
    while locating sonia.scm.template.FreemarkerTemplateHandler
    while locating sonia.scm.template.TemplateHandler
    for parameter 1 at sonia.scm.template.TemplateServlet.(TemplateServlet.java:88)
    at sonia.scm.template.TemplateServlet.class(TemplateServlet.java:88)
    while locating sonia.scm.template.TemplateServlet

1 error
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1009)
at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:108)
at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102)
at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172)
at sonia.scm.boot.BootstrapFilter.init(BootstrapFilter.java:134)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:273)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:254)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:372)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:98)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4584)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5262)
at org.apache.catalina.core.StandardContext$2.call(StandardContext.java:5257)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at java.io.File.(Unknown Source)
at sonia.scm.template.FreemarkerTemplateHandler.(FreemarkerTemplateHandler.java:100)
at sonia.scm.template.FreemarkerTemplateHandler$$FastClassByGuice$$33168a0b.newInstance()
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)
... 18 more
4-aug-2011 10:48:12 org.apache.catalina.core.StandardContext startInternal
SEVERE: Error filterStart
4-aug-2011 10:48:12 org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [] startup failed due to previous errors
4-aug-2011 10:48:13 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [com.google.inject.internal.util.$Finalizer] but has failed to stop it. This is very likely to create a memory leak.
4-aug-2011 10:48:13 org.apache.catalina.startup.HostConfig deployDescriptor

I am running on Windows 7 x64 bit on a 32bit Tomcat 7.0.19 and JDK 1.6.0_25.

HTTP authentication doesn't work for push with Egit

Original report by Thierry L. (Bitbucket: [Thierry L.](https://bitbucket.org/Thierry L.), ).


Hi,
I got the following message when i tried to push a commit on repository hosted by scm-manager via Egit.

// An internal Exception occured during push: http://scmadmin@myhost:8080/scm/git/test: 401 Authorization Required//

My repository is configured with "write" access for the scmadmin user

When i tried again with msysgit it worked.

However the worakaround described in the following issues on Egit bugzilla didn't work
https://bugs.eclipse.org/bugs/show_bug.cgi?id=342592
https://bugs.eclipse.org/bugs/show_bug.cgi?id=339220

The url with password inside failed also
http://scmadmin:scmadmin@myhost:8080/scm/git/test

The scm-manager consol diplays:
//14:21:04.462 [qtp11108810-15] INFO sonia.scm.web.filter.PermissionFilter - write access to repostitory test for user anonymous denied
//

scm-admin and Egit are running on Windows XP

Could you help me ?

Is it just a issue with Egit or with your software ?

Other question: does your software use dumb http protocol or smart ?

Best regards

Can't clone a Git repository shared on Windows

Original report by Anonymous.


Hi,

I'm trying your nice program on Windows.
After importing a local repository (url http://localhost:8080/scm/git//d/git/git1/my_project/.git), i tried to clone this repository but it failed.

With Egit, I got the following message:
"
Cannot list the avalaible branches.
Reason:
http://localhost:8080/scm/git//d/git/git1/my_project/.git:
http://localhost:8080/scm/git//d/git/git1/my_project/.git/info/refs/?service=git-upload-pack not found
"

It thought he doesn't find the info directory as i got the following message with msysgit.
"
fatal: http://localhost:8080/scm/git//d/git/my_project/.git/info/refs not found: did you run git update-server-info on the server?
"

Then i ran the git-update-server-info and got the same message with Egit and msysgit/

Does your program use jgit instead msysgit ?
How can i configure the repository or your software to solve this issue ?

Best Regards,

master branch creation by default with new repository

Original report by Thierry L. (Bitbucket: [Thierry L.](https://bitbucket.org/Thierry L.), ).


With creation of a new repository, there is no master branch.

With Egit you can't clone an empty repository:

//"Source Git Repository is empty"//

Therefore you have to install mssysgit; init a local repo and push it to your repo created via scm-manager.

If scm-manager could create a master branch, it would be possible to create the local repo within eclipse and push it directly to scm-manager.

No more need (almost) for a native git client.

can't check if LDAP is working

Original report by Anonymous.


I can't find any information about the LDAP configuration.

I configured LDAP server in the configuration part but I can't check if this is working.

How can I add a user with using LDAP instead of creating an account?

Thanks!

Deployment from source not fully documented

Original report by Stanisław Pitucha (Bitbucket: [Stanisław Pitucha](https://bitbucket.org/Stanisław Pitucha), ).


I followed the instruction for building the package from source on a debian machine. The build succeeded and after adding appropriate wrapper scripts (issue#4), the application seems to be happy - apart from the config files. I couldn't find any information on what should I do with them.

The first error is:

jvm 1    | could not find /app-info.xml in classpath
wrapper  | <-- Wrapper Stopped

If I use the app-info.xml from the src directory, I get this:

jvm 1    | WrapperSimpleApp: Encountered an error running main: sonia.scm.server.ServerException: could not find server-config.xml
jvm 1    | sonia.scm.server.ServerException: could not find server-config.xml
jvm 1    | 	at sonia.scm.server.jetty.JettyServer.start(JettyServer.java:113)
jvm 1    | 	at sonia.scm.server.ServerApplication.main(ServerApplication.java:102)
jvm 1    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
jvm 1    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
jvm 1    | 	at java.lang.reflect.Method.invoke(Method.java:616)
jvm 1    | 	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
jvm 1    | 	at java.lang.Thread.run(Thread.java:636)

Is there a way to generate those configs automatically? Or should I do something myself? (Could https://bitbucket.org/sdorra/scm-manager/wiki/build-from-source be updated ?) :)

User able to pull files without having rights on this repository

Original report by Anonymous.


When pulling and pushing data to a remote repository I uses a user (LDAP) which is set up in the system and is part of a Group but which is not set up to the repository (maybe earlier but removed from the list).

By accident this user have access to these files.

10:59:49.117 [qtp1377187-20] DEBUG sonia.scm.web.security.ChainAuthenticatonMana
ger - authenticator sonia.scm.web.security.XmlAuthenticationHandler ends with result, user: null, state: NOT_FOUND

10:59:50.055 [qtp1377187-20] DEBUG sonia.scm.web.security.ChainAuthenticatonMana
ger - authenticator sonia.scm.auth.ldap.LDAPAuthenticationHandler ends with result, user: xxx, state: SUCCESS

10:59:50.055 [qtp1377187-20] DEBUG sonia.scm.web.security.BasicSecurityContext -
user xxx is member of yyy, zzz

Active-Directory plugin too undocumented

Original report by Daniel Jilg (Bitbucket: winsmith, GitHub: winsmith).


Hi,

I'm trying to use scm-manager with the Active Directory plugin. I've installed it, but could not find any configuration options in the UI. Could you please give me some pointers where I should go next in order to get this to work?

So far I've done the following, on a freshly installed Windows 7 VM:

  • downloaded scm-manager, ran scm-server/bin/scm-server.bat to start the server
  • logged in, installed the active directory plugin
  • added the virtual machine's windows to our local domain
  • restarted the server
  • created a test git repository
  • tried to log into the repository using LocalUsername, DomainUsername and Domain\DomainUsername

none of those worked. Help me please?

Add safe remove of repository

Original report by Anonymous.


The repositories should not be deleted from physical drive directly after it is removed. Should move/hide from the repositories list, and able to remove it completely at somewhere else.

Repository Location

Original report by Sergio Paganoni (Bitbucket: wizche, GitHub: wizche).


Hi Sebastian,

sorry to push you so much work here :)

It already happens to me a couple of time that the repositories disappears from the Repository List on the Web interface (I can see the repository in the repository form) but I can always access it via his url: http://IP/scm/hg/MyRepo

How can I recover from this? Are the repositories configurations stored in some kind of XML (I try to look but I found nothing)

To solve this I have to delete manually the repo files (rm -rf repo/), recreate the repo using the web interface and repush all changes from the client.

Configuring LDAP Plugin

Original report by Jeremy Neiman (Bitbucket: docmarionum1, GitHub: docmarionum1).


I'm trying to use the LDAP plugin, but am unable to login using an LDAP account. I didn't change much, besides the Base DN, Connection DN and password. In the scm log file I see that there's an LDAP invalid credentials error:

12:39:51.111 [qtp1829923591-21] ERROR sonia.scm.auth.ldap.LDAPAuthenticationHandler - [LDAP: error code 49 - Invalid Credentials]
javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]

Though I can't tell where the error is encountered (i.e. connecting to the server or authenticating the user I'm trying to log in as.)

I've tried playing around with the other options (filter, scope, etc,) without success. Any idea which options could be set wrong?

Thanks.

Cannot Set AD User to Admin

Original report by hk135 (Bitbucket: hk135, GitHub: hk135).


I login using default admin account and set an ad user to admin, the user.xml file updates the admin tag to true. As soon as I log in with the user the admin tag is set to false.

Windows Server 2003 Issue

Original report by Anonymous.


Hi there, I have scm-manager working in Windows7, but Windows Server 2003 has the error below.

Regards Graeme

2011-08-12 15:25:06.425:WARN::FAILED org.eclipse.jetty.server.handler.HandlerCollection@bf1d3b: ja
dError: javax/xml/bind/JAXB
2011-08-12 15:25:06.487:INFO::Started [email protected]:8080 STARTING
2011-08-12 15:25:06.487:WARN::FAILED org.eclipse.jetty.server.Server@16de067: java.lang.NoClassDef
bind/JAXB
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXB
at sonia.scm.plugin.DefaultPluginLoader.loadPlugin(DefaultPluginLoader.java:273)
at sonia.scm.plugin.DefaultPluginLoader.load(DefaultPluginLoader.java:233)
at sonia.scm.plugin.DefaultPluginLoader.(DefaultPluginLoader.java:97)
at sonia.scm.ScmContextListener.getInjector(ScmContextListener.java:131)
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletCo

    at sonia.scm.ScmContextListener.contextInitialized(ScmContextListener.java:117)
    at sonia.scm.boot.BootstrapListener.contextInitialized(BootstrapListener.java:147)
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:640)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1208)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:586)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:449)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
    at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
    at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:89)
    at org.eclipse.jetty.server.Server.doStart(Server.java:258)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
    at sonia.scm.server.ScmServer.run(ScmServer.java:95)
    at sonia.scm.server.ScmServerDaemon.main(ScmServerDaemon.java:62)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.