Gitorious 3.0 Beta 1

It’s been quite a journey, but we pulled through, and we are excited to finally present you with the first beta of Gitorious 3.0!

Take it for a spin

We set up a trial instance on v3.gitorious.org. You should especially check out the new repository pages. This instance is free for all, so please register an account and test at will. Just note that it will be removed once gitorious.org is upgraded to Gitorious 3. There are already some known issues, and I will be posting updates to this demo throughout next week.

For those of you who want to run Gitorious 3 yourself, there will eventually be a pre-built CentOS-based VM available on getgitorious.com. Unfortunately, we haven’t had time to fix that up yet, and as we are now going into vacation mode, it will be a few weeks.

Your best option for self-hosting Gitorious 3 at this point is to install Gitorious 2, e.g. by using the Community Edition, and follow the manual upgrade instructions found in the repository.

For people wanting to hack on Gitorious, there are instructions in the repo for CentOS and Ubuntu for how to get the development environment up and running. These take some shortcuts that are not recommended for production deployments, but will get everything up and running.

What’s new?

The big news in Gitorious 3 is the new and improved code browser. In addition to being a big improvement UI-wise, it supports many new small useful features. The code browser also provides quick access to browsing and viewing files, blame, log for individual paths and more.

Browsable URLs

The old

/project/repository/blobs/*

and

/project/repository/trees/*

URLs are gone. In their place we now have a unified way of browsing source code through

/project/repository/source/ref:path

, e.g.

/project/repository/source/master:Readme.org

Automatic rendering of README in your repository

Gitorious will render any README file it can render in your repository.

DoltReadmes

Not only will it render READMEs in the root of your repository, but from any directory inside your repository.

Vastly improved syntax highlighting

The syntax highlighting in Gitorious 3 is powered by Pygments, arguably the best syntax highlighting toolkit around. This means Gitorious now supports every one of Pygments’ long list of supported languages.

syntax_highlighting

Highlight code

When browsing files, you can mouse over lines to highlight them. If you want to share highlights with other people, click a line, copy the URL and share at will. You can also highlight a region by clicking a line, holding shift and clicking another one. Copy the URL and off it goes.

line-nums

Convenient branch/ref selector

The code browser has a branch selector in the upper right corner, which is always available for any action where different branches/refs has different content (i.e. when browsing code, but also the log etc). This allows you to select branches and tags, or enter any Git oid to view it.

branch-selector

Curl-able downloads!

Gitorious has used a polling mechanism to serve tarballs for some time. In Gitorious 3, this is gone, and we use simple GETs to fetch tarballs. For high-traffic deployments, getgitorious.com has information on how to configure nginx so this scales well.

Detached code browser

The code browser shipping with Gitorious 3 is also released as a stand-alone tool that you can use to visualize your repositories locally. You can even use it for a light-weight read-only Git repository hosting service on your server. The tool is called Dolt, and if you have Ruby installed, you can try it out in 5 minutes: gem install dolt. Run either in a git repository, or in a directory that contains many git repositories: `cd /my/git/repo && dolt .`

dolt

Web hooks

In Gitorious 3, you can select the “admin” menu on your repositories when logged in, and it will offer you to manage web hooks. These are URLs that Gitorious will send a POST request to everytime someone pushes to the repository. Postbin is a great service for debugging these things, and here’s a sample payload from Gitorious.

webhooks

Log in with either email or login

In the past, Gitorious would only allow logins with email address. If you’re using the database backed authentication, you can now log in with either your email address, or your login/screen name.

Rails 3.2 under the hood

Gitorious 3 is based on Rails 3, which brings vastly improved security, performance and provides a better base for evolving the software. Some of you may have seen that Rails 4 was just released, and Gitorious 3.1 or 3.2 will likely be moving to Rails 4. When that happens, Ruby 1.8.7 (and Ruby Enterprise Edition) support is gone (Rails 4 does not support it).

Backwards and forwards compatibility

Gitorious 3.0 supports Ruby 1.8.7, primarily because many Linux distros still ship this version. Ruby 1.8.7 support should not be expected to last for long. We recommend that you run Gitorious 3.0 on Ruby 1.9.3, and Ruby 2.0.0 support is just around the corner (one of our dependencies is causing a segfault, but we have verified that everything will work once an update is released for it).

Improved Ruby API

The low-level APIs in Gitorious have been refactored and restructured in several areas. This work is not yet complete, and will continue throughout the summer. This will eventually make it easier to perform power-user/admin tasks from the console. Gitorious 3 ships with “use cases” that can be run from the command line, and encapsulates everything required to carry out certain tasks. Some documentation is available.

Git data mirroring

We’re currently finishing up a new feature that allows Gitorious to mirror all git data to one or more mirrors. This will help in cases where you want a “ready to go” failover server for Gitorious. This feature does not ship with the first beta, but will be in the final version.

What remains

This is a beta, and as such, bugs should be expected. We would love your help and support in testing this, and we will soon roll out the beta on gitorious.org. Once we’ve gotten through the worst crop of bugs, Gitorious 3.0 stable will be tagged and released. When that happens, everyone will be strongly urged to upgrade, as we will not provide updates for Gitorious 2 much longer.

You will also notice that while most of the repository pages sport a shiny new UI, we have not completed this transition entirely. Changing the UI all around is a big task, and we will continue iterating on this until the old UI is gone. We’re sorry that the app will have two faces in this transitional period, but we believe the improvements we’ve made already makes it more than worthwhile.

What do you think?

Try it and out, and let us know what you think. We are very excited about this release, and hope you will like it as much as we do.

On behalf of the Gitorious team,
Christian (@cjno).

10 Comments

  1. gwynevans
    Posted July 21, 2013 at 12:47 pm | Permalink

    You might want to consider adding in some comment-spam traps, as it rather looks as if you’re being overrun by spammers there…

    • Marius Mathiesen
      Posted August 1, 2013 at 11:05 am | Permalink

      Looks like WordPress keeps letting spammers through – I’ll have a look!

  2. fonica
    Posted July 24, 2013 at 1:41 pm | Permalink

    what about inline comments on diffs?

  3. tele
    Posted July 29, 2013 at 11:53 am | Permalink

    Great. Any idea when the new version will be deployed on Gitorious.org?

    • Marius Mathiesen
      Posted August 1, 2013 at 11:04 am | Permalink

      We’re aiming for deploying to gitorious.org in mid-August.

      • tele
        Posted August 1, 2013 at 7:36 pm | Permalink

        That would be great!

        Are you keeping the dark backgrounds on all except the repository pages? Wouldn’t it look better to make all backgrounds light?

        The new logo is nice. Just the red minus is central and sticks out a bit IMHO. Why not put the green plus in the center instead? To make the logo more positive.

  4. Christian Johansen
    Posted August 1, 2013 at 11:26 pm | Permalink

    @tele: We will eventually roll out the new UI all over the app, but it’s a non-trivial task and will take a little time.

  5. Posted August 12, 2013 at 11:08 am | Permalink

    The footer is too visible; it should be dark as well.

    • Posted August 12, 2013 at 11:13 am | Permalink

      Also, the user icon on the top right should be my profile image if I have one.

  6. lpnotfr
    Posted August 14, 2013 at 11:06 am | Permalink

    I’ve got problems with the ‘git’ access method since the roll out … I get “fatal: Could not read from remote repository” for all my repositories when accessing with the git: URL, the ssh: URLs work fine.


One Trackback

  1. By Announcing Gitorious 3.0 « The Gitorious Blog on November 16, 2013 at 6:46 pm

    […] can read more about the new repository browser in the blog post about first beta of Gitorious […]

Follow

Get every new post delivered to your Inbox.

Join 845 other followers

%d bloggers like this: