Issue restart

Over the years, SCM-Manager received a lot of attention and a lot of people had questions. Some of them led to issues on BitBucket, which were migrated to GitHub not long ago. With the release of SCM-Manager 2 getting closer, we would like to get rid of old issues, because we would like to focus on the important, still relevant ones. So we decided to use GitHub Stale, a little bot that closes issues that had no activity for quite some time. Tickets like enhancements, will not be affected by the bot, because they may take a longer than normal issues.

If you find your ticket closed, but you feel like it still persists, we would like to politely ask you to re-open it on GitHub. If you have a new issue, take a minute or two and take a look at the old ones; maybe you will find an answer there. Doing so, we will get a better overview of which issues are still relevant and we will know what to focus on.

SCM-Manager 2.0.0-rc5

Release 2 of SCM-Manager brings a lot of changes, some small, some big. Besides the most obvious change, the completely new user interface, there is the new  level 3 REST API, which took us a considerable amount of effort to create.

The new REST API allows scripts and other applications to “navigate” from the top level REST resource (/scm/api/v2) to every resource available and to change them: repositories, sources, configurations, and items from plugins like pull requests. Using the editor plugin it is possible, to add or change files in repositories without checking them out, first.

OpenAPI plugin

Of course, all these possibilities can only be fully utilized when there is comprehensive documentation. The problem is, the API may change depending on your version of SCM-Manager and the plugins you have installed. So what we give you today is not a wiki page or a pdf, but another plugin: the OpenAPI plugin. This plugin adds a new link to the footer of SCM-Manager: “Rest API”.

REST API link in footer

Click the link and you will get an OpenAPI (also known as Swagger) online documentation, that tells you exactly what is possible with your current system. It will show you all possible requests and you can even try them out.

OpenAPI Example Page

Collapsable navigation menus

Another change that you might stumble upon, is a little triangle in the secondary navigation menus. Press this, and the menu will collapse. This is useful in particular for source and diff views.

Normal menu:
normal menu
Collapsed menu:
collapsed menu

Limitation on source view

Another little change is something you may never notice, but nonetheless it is good to have it in place: If you ever have a repository with a large number of files, SCM-Manager will not break down whenever you try to take a look at the sources. Instead, it will only read up to 100 files per request. You can choose to read more, though.

limited sources view

Get the new version

You can download the RC-5 here

  • .tar.gz (sha1: 3b2dff3fda0c46362c518be37edd4e77bccc88bb)
  • .zip (sha1: 1aa865ea400e8aaf08c175dbaf316c48bb066b41)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc5

We migrated to GitHub

As mentioned here, we migrated the scm-manager core repository to GitHub: scm-manager/scm-manager.

We decided to do so due to the removed mercurial support from Bitbucket. This is no statement whatsoever against Mercurial, we will continue to support Mercurial, Git and Subversion.

  • We migrated the entire code base from Mercurial to Git
  • The Bitbucket Wiki is now located in the docs folder of the repository
  • All issues have been migrated

SCM-Manager 2.0.0-rc4

For some time, the incompatability of SCM-Manager 2 with Java 9 or above has annoyed us. Now we can happily announce, that this is history. With the new version 2.0.0-rc4 SCM-Manager can run on Java 9 and above.

A little error though has not made it into this release: If you are hosting mercurial repositories, you cannot create new commits, when XSRF protection is enabled. This is no new bug in this version and if you haven’t come accross it with previous releases, it should be of no relevance for you (this should be relevant only if you are using the editor plugin with mercurial repositories). This bug will be fixed in the next release.

Get the new version

You can download the RC-4 here

  • .tar.gz (sha1: 7aa87cec712335b93b0cbc49333c5fc9edd26fdc)
  • .zip (sha1: 603cf76d7d685951533ad19f5e1aa990607ec3bf)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc4

SCM-Manager 2.0.0-rc3

Last week we stumbled upon an error in the plugin loader. If you have installed some plugins with dependencies between them, the may end up loading them in the wrong sequence and therefore running into an error. We fixed this error with SCM-Manager 2.0.0-rc3.

If your SCM-Manager 2.0.0-rc2 is starting up without problem, you can safely ignore this new release.

Get the fixed version

You can download the RC-3 here

  • .tar.gz (sha1: c23d8804c10e90d45832f4af3af9a1aa8658c666)
  • .zip (sha1: 42b3c320ff334eda7cbc0d8f56c05978dbc0840f)

or use it via Docker

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc3

SCM-Manager now on GitHub

Migration in progress

As previously announced, all SCM-Manager repositories are being migrated to GitHub, because Bitbucket has announced the ending support for Mercurial.

Soon, all repositories will be available under the SCM-Manager organization on GitHub. It is our goal to have all repositories migrated within the next two weeks.

Once all the repositories are on GitHub, we will get onto migrating the issues and the wiki.

SCM-Manager 2.0.0-rc2

About six weeks ago we presented you the first release candidate of SCM-Manager 2. Now we finished the RC-2. Here are our favorite new features:

Unification of source and commits become “code”

We got feedback that the navigation points “Commits” and “Sources” on the right side led to confusion, because the branch context was lost on navigating between those two. Therefore we joined them into the new “Code” view. Here you can switch between sources and commits without loosing the branch context.

Code highlighting in diffs

As now we support syntax highlighting in diff views including pull requests. Below you can see screenshots from RC-1 (left) without syntax highlighting and from RC-2 (right) with syntax highlighting.

Initialize Repositories

On repository creation you can now initialize your repository with an initial commit, which contains a readme with title and description of the repository.



Markdown Preview

In the source view markdown files will be rendered by default. You can switch to source view with a toggle in the right upper corner.



Changelog

Added

  • Set individual page title
  • Copy on write
  • A new repository can be initialized with a branch (for git and mercurial) and custom files (README.md on default)
  • Plugins are validated directly after download
  • Code highlighting in diffs
  • Switch between rendered version and source view for Markdown files

Changed

  • Stop fetching commits when it takes too long
  • Unification of source and commits become “code”

Fixed

  • Classloader leak which caused problems when restarting
  • Failing git push does not lead to an GitAPIException
  • Subversion revision 0 leads to error
  • Create mock subject to satisfy legman
  • Multiple versions of hibernate-validator caused problems when starting from plugins
  • Page title is now set correctly
  • Restart after migration

How to get RC-2

Currently there are two ways to run SCM-Manager 2:

Docker

To start SCM-Manager with a persistent volume on port 8080 run the following command:

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc2

Standalone Server

The standalone server requires an installed jre version 8. You can download the binaries here:

  • .tar.gz (sha1: eb5eccefcd34bea1bc7c054a9ba32a6ce664f278)
  • .zip (sha1: 00dacaee4ecd817238c45f2e9e271bcc933cc056)

Extract the downloaded archive and start scm-server/bin/scm-server or scm-server\bin\scm-server.bat. Your scm-manager should now be running on port 8080.

Give feedback

If you run into problems or you want to give us feedback for the new version, feel free to contact us using the mailing list (scmmanager@googlegroups.com).

SCM-Manager 2 – First release candidate

We are more than happy to announce that the first release candidate of SCM-Manager 2 is ready!

Since the last news about SCM-Manager 2 we have worked on the missing key features like the plugin center or anonymous access to repositories. Now it is done and we are offering you the chance to try RC-1 yourself.

How to get RC-1

Currently there are two ways to run SCM-Manager 2:

Docker

To start SCM-Manager with a persistent volume on port 8080 run the following command:

docker run -p 8080:8080 -v scm-home:/var/lib/scm --name scm scmmanager/scm-manager:2.0.0-rc1

Standalone Server

The standalone server requires an installed jre version 8. You can download the binaries here:

  • .tar.gz (sha1: 954e3f5c7a5e743d3db530f9865fece1660c9680)
  • .zip (sha1: f72f473032e6043d767a89ebc621c222f36dfa9e)

Extract the downloaded archive and start scm-server/bin/scm-server or scm-server\bin\scm-server.bat. Your scm-manager should now be running on port 8080.

Migration from SCM-Manager 1

First of all: Before you try migrating to SCM-Manager 2 we advice you to backup all your repositories!

If you already want to migrate from SCM-Manager 1 to the new version, you can do that pretty easily. All you have to do is to upgrade your SCM-Manager to at least version 1.60. Once you have done that, you have to start SCM-Manager 2 with the same home folder. When you access SCM-Manager 2, there will be a wizard that will help you to migrate your repositories to the new structure of SCM-Manager. After that, it will perform the migration fully automatically.

For more information about the migration have a look here.

Why you should get it

Even though SCM-Manager 1 already was pretty good, we are convinced that SCM-Manager 2 is way better! Now that all key features are implemented it is worth looking into the new version. If you want to fresh up your mind about the changes and new features, you can look here:

Give feedback

If you run into problems or you want to give us feedback for the new version, feel free to contact us using the mailing list (scmmanager@googlegroups.com).

 

Migration to GitHub

Because of the soon ending support for Mercurial repositories on Bitbucket (link) we decided to move all SCM-Manager repositories to GitHub.

Since there won’t be a major repository hosting platform left that supports Mercurial, it was inevitable for us to migrate the SCM-Manager repository from Mercurial to Git. Of course, we could have stayed on Bitbucket with git repositories, but some GitHub features like vulnerability scanning made it easy for us to move away from Bitbucket.

We have already started to migrate the repositories for plugins and the SCM-Manager repository will follow soon. On GitHub you can find all repositories here: https://github.com/scm-manager.

 

Cloudogu support team

Some time ago a vigorous involvement with SCM-Manager was announced in the Cloudogu blog. In the first step, Cloudogu joined the development of SCM-Manager 2. Now, as the second step, Cloudogu assigned a team to actively help with the support for SCM-Manager. The team will do what a support team does: answer your questions, evaluate and fix reported bugs and feature requests.

Because we don’t want to oversee your questions and reports, we decided to centralize the support channels. These are the channels that we will be watching from now on:

If you try to get in touch with the support team using another way, we might not reply. To prevent these situations, we will disable other options for example by deactivating the comment function here on the website.

We are looking forward to hearing from you.