We’ve made a few changes!

Gitorious has undergone quite a few changes recently. Apart from the implementation work we’ve done (more on that later), the biggest change is that Gitorious is now an official Shortcut project. Since 2007, Gitorious has been maintained by yours truly, Johan Sørensen, mostly in my spare time.

Gitorious now is a project maintained by Shortcut AS, which I co-founded. Shortcut AS now officially supports and develops Gitorious in cooperation with contributors outside Shortcut. Gitorious is, and will continue to be, 100% free software, licensed under the Affero GPL.

There will be more big announcements around this next week, but it’s important to note that Shortcut now provides professional level Gitorious hosting to companies hosting their FOSS projects. This gives Gitorious a bright future and lets us put more work into making Gitorious better for all our users.

Gitorious is still free in both meanings of the term, and you can continue using Gitorious the way you’re used to.

Below is a list of some of the bigger improvement we’ve done. We’ll be able to talk more about one side of the future of Gitorious next week, which is cause of these changes.

New SSH key fingerprints!

First, please note that we had to change our public SSH key fingerprint. it is now 7e:af:8d:ec:f0:39:5e:ba:52:16:ce:19:fa:d4:b8:7d and the IP of the frontend server is 87.238.52.168. Now on to the fun stuff!

Asynchronous task system

Long-running processes have been handled asynchronously in Gitorious for quite some time. For instance, when you create a new repository on the site, the repository isn’t created directly; rather an entry in the Gitorious database is created, which is later on picked up by the task performer script (run by cron). Further on, when you push changes to a repository on Gitorious, the post-receive hook in the repository would launch the Rails environment and create events in the database. This could make it painfully slow to push a large set of commits to a repository, as your Git client would have to wait while Gitorious populates the database.

The latest version of Gitorious uses an asyncronous queue for such operations, which means that the action you’re performing will send a message to the queue and then immediately return, instead of waiting for the operation to complete or insert a row in the database. Gitorious uses the ActiveMessaging plugin, which puts a message on the queue in the following situations:

  • when a new repository is created or cloned
  • when a repository is deleted
  • when a new SSH key is uploaded
  • when a new system message is sent (see below), to send email notifications
  • to generate a compressed archive
  • when a client pushes changes to a repository

We use Apache’s ActiveMQ and the Stomp protocol for queuing, but ActiveMessaging gives you some other options as well. Gitorious includes a poller script that consumes messages and performs the actions required. This script can keep running and will process all messages that are on the queue; in our experience this speeds up the day-to-day usage of Gitorious drastically.

Team support

Gitorious now supports the creation of teams. Anyone can create a team, which lets users share repositories, promote their team on the team page and gives custom URLs for projects and their repositories.

The teams feature gives you way of easily dealing with commit rights across different projects. This way, open source teams can maintain a list of members with commit rights to all the team’s repositories; giving better collaboration opportunities across projects.

Several repositories per project!

Each project can now have several repositories. The project page lists all repositories belonging to the project, so you can easily see repositories that relate to each other.

This is quite useful, for instance a lot of projects consist of different kind of modules (or whatever you prefer to call them) that fits nicely into separate git repositories. Now you don’t have to create a new project for each module, just stick them in the same project! And together with the new teams features the repositories can now be managed individually.

Improved URLs

The URLs generated and recognized by Gitorious has been completely revamped, providing URLs that let you easily recognize what you’re currently looking at:

These new URLs are also used in Git URLs, so to clone my it, you would simply

git clone git://gitorious.org/~johan/fish-nuggets/johans-clone.git

And I’d be pushing to:

git@gitorious.org:~~johan/fish-nuggets/johans-clone.git

We think these urls make a lot more sense than what we had.

Merge requests

Merge requests lets users make contributions to repositories hosted on Gitorious.org. After all, sharing code is what it’s all about. The new version of Gitorious brings some changes to the way merge requests are handled:

  • The merge requests now can have comments regarding the code included in the merge request. This is a first step towards better facilitating the code review process around contributions made to a project/repository. In addition to this, users can comment on individual commits included in the merge request.
  • When a user creates a merge request, he can now specify which commits should be included in the request. This is done by specifying the last commit to be included in the merge request. The instructions to the person performing the actual merge specifies the commands to use to merge the affected commits into his repository.
  • When the owner of a repository receiving a merge request either approves or rejects the request, he can enter a reason for his decision. The user who requested the merge will receive a notification that includes this reason.

Visual improvements

Gitorious now has a new logo and the overall visual appearance has gone through a bit of a revamp. This should both be more appealing to our users and provide a simpler and more consistent user experience, but we’ll admit we still has some work to do when it comes to the UI so expect further improvements here.

You will now find breadcrumbs on most pages, indicating the context of the current page and providing links for easier navigation and backtracking.

Support for several committers

You can now add one or more committers to a repository, the difference being that you can now add a whole team as well and projects and repositories themselves can be now owned by a team. This gives you a way of easily managing multiple project or repository administrators.

Support for several email addresses for a user

Some users use several email addresses when committing code, and Gitorious now lets you specify several email addresses (“aliases”). When adding a new email address you’re required to confirm the address by clicking a link you’ll receive by email from Gitorious. Check your profile page for the “Manage aliases” link.

User and team avatars

Users and teams can now upload custom images (avatars). So if you don’t have a Gravatar account (or don’t want one) you can upload a custom image that will be displayed on your profile and next to your commits on the site.

Messaging system

Since FOSS development is all about communication, Gitorious now has an internal messaging system. Each user will have an inbox containing discussions with other users and notifications of events related to their projects and repositories. This gives you a single entry point into communicating with other Gitorious users.

Each user can specify whether he wants to be notified of new messages by email. If you enable this (it will be disabled by default), you will receive a copy of each message by email, so you’re notified even if you don’t log into Gitorious for a couple of days.

Where Gitorious previosly would send you email messages on some occasions, most of these will now be sent as messages instead and it’s up to you whether you still want these on email or not.

The messaging system is pretty barebones so far, we have some ideas for closer integration with the traditional communication means we usually do on these kind of projects, so we’d discuss more about that.

Terms of service

Now for some slightly boring details, since Gitorious.org is now an official product of Shortcut AS, we need you to accept our terms of service. Hopefully you’ll find them reasonable (if not, do get in touch!).

We’re also licensing these documents under a creative commons license, so you can save some cash should you need something similar. We’ve spent some good money on getting them adapted to our needs, there’s no need for you to do the same!

Push events

When you push a set of changes to Gitorious, Gitorious will create a single event representing the push. Clicking this event will display each commit included in the push. This should make it easier to get an overview of what’s new, but still provide a way to dig into changes.

And of course, thanks to the asynchronous task system, the actual git push will be close instant. No more waiting on Gitorious to sync, hooray!

Improved front page

The new Gitorious front page now gives a summary of:

  • recent activities throughout the site
  • the most active projecs
  • active projects the last two weeks
  • the most active repository clones
  • active users
  • active teams
  • latest projects

This should provide a good start for peeking into the activities on gitorious.org. We still have some data we’re not exposing (such as git:// clone count) that we can use to provide further interesting things and most importantly; more exposure for your project

New server infrastructure

Gitorious now lives on a new server farm, with vastly improved performance and stability. The new server farm is running on brand new hardware with some really nice specs as well as redundant SAN storage for your repositories.

Integrated dashboard and profile

Really, there was no reason for previously having your dashboard and user profile page be different. They’re now the same page, with your account specific functions shown if you’re logged in.

Enjoy!

Hopefully you’ll enjoy this much-improved release of Gitorious. We have some more exciting news lined up for next week and of course, plenty of new features to discuss with you so don’t be afraid to get in touch either by email, comments or the discussion group!

27 Comments

  1. Posted May 9, 2009 at 1:07 pm | Permalink

    Wow, Congrats Johan! Sounds like a ton of progress for gitorious. I look forward to seeing the new version running on our internal git server!!

  2. Posted May 9, 2009 at 3:34 pm | Permalink

    Absolutely brilliant! I will go and try out the new team support and the support for multiple repositories per project immediately! :-)

  3. Posted May 9, 2009 at 3:41 pm | Permalink

    I’m going to test drive it right away. Gitorious.org could use a favicon though ;-)

  4. Posted May 9, 2009 at 5:02 pm | Permalink

    Amazing new gitorious !!

    Thanks for this great service…

  5. Posted May 10, 2009 at 2:15 am | Permalink

    Why hasn’t the code changes been pushed to the mainline repository yet? Will it be somewhat straightforward to make such changes in our personal installs?

    Cheers, Etrunko.

  6. Posted May 10, 2009 at 9:29 am | Permalink

    Etrunko: it’s coming monday morning. There are some larger changes, but I’ll try and spend some time today writing an upgrade guide as there’s a few tricky parts.

  7. Marc-Andre Lureau
    Posted May 10, 2009 at 3:35 pm | Permalink

    Great news! thanks for all the good work!

  8. Posted May 10, 2009 at 4:05 pm | Permalink

    Great job! It’s really beautiful now and teams are a great idea!
    As vincent said, a favicon for gitorious.org would be cool :-)

    And if the “edit project” page could have a preview feature for project descirpition it would be great (i’m not so familiar with Markdown… ^^).

  9. janfri
    Posted May 11, 2009 at 7:38 pm | Permalink

    Congratulations and thank you!

  10. Mario Sanchez
    Posted June 5, 2009 at 10:19 am | Permalink

    > Users and teams can now upload custom images
    > (avatars). So if you don’t have a Gravatar account (or
    > don’t want one) you can upload a custom image that
    > will be displayed on your profile and next to your
    > commits on the site.

    Kind of strange I’ve uploaded an avatar which is shown in my profile but not along with every line of activity on the project, like the commits. :-(

    Perhaps I did something wrong or my avatar is in a wrong format/size/whatever?

  11. Posted June 5, 2009 at 10:43 am | Permalink

    Mario: some of the commit listings are cached, so it may take a while for your avatar to propagate across the system. Could you send an email to support@gitorious.org if you don’t see your avatar within an hour? thanks

    • Mario Sanchez
      Posted June 8, 2009 at 9:03 am | Permalink

      Hi,

      I’m still not seeing the avatar in the commit listings (3 days after) so now sending a mail with the details.

      Thanks!

  12. Posted June 29, 2009 at 1:28 am | Permalink

    great stuff. we are glad you all put the time and effort into your work to make it worthwhile to others. Your site looks great.
    http://www.leapbrowser.com

  13. Posted July 24, 2010 at 2:50 pm | Permalink

    Thanks for that info, ive met a new man to begin a new life with.The last man wouldnt mane changes.

  14. Posted July 25, 2010 at 5:17 am | Permalink

    Was very interested to find out it now supports the creation of teams. Keep up the good work!!

  15. Posted July 30, 2010 at 4:53 am | Permalink

    Love this site, I think I will test drive it soon!

  16. Posted July 31, 2010 at 10:15 pm | Permalink

    Hey guys,
    you made a huge work on your site. It’s worth subscribing your Feed RSS for sure! I just wish I had half your endurance and determination!

    Good luck!

    Ciao from Italy

    Luke

  17. Posted August 12, 2010 at 8:52 am | Permalink

    Getting in late on this post, found it through google :)

    Very interesting though

  18. Posted August 28, 2010 at 11:57 pm | Permalink

    I know I’m late, but it seems that a lot of effort and thoughts have been put into your project:) Hopefully I can test it soon.

  19. Posted September 4, 2010 at 10:28 am | Permalink

    Communication is the key for development.Any communication tool should include messaging facility. Most companies are now focusing on hosting Foss. It is a welcome development that Gitorious has internal messaging system.

  20. Posted October 8, 2010 at 1:14 pm | Permalink

    Directly descriptive URLs may not seem like a great things as most going concerns are well informed of what they are doing and where they are at, but this I feel is a big organizational change that gives certainty and keeps stress levels down as you tackle multiple tasks. Attention is just not something that shouldn’t be wasted.
    Great Work!

  21. Posted October 29, 2010 at 12:15 am | Permalink

    Cool! Good job and Goodluck! Regards!

    -Chin

  22. Posted February 15, 2011 at 11:40 pm | Permalink

    Well done. Gonna check it out immediately.

  23. Posted March 3, 2011 at 6:59 pm | Permalink

    Pretty cool! I can’t wait to try it out myself.

  24. Posted March 7, 2011 at 7:53 pm | Permalink

    Tested it and it works! Thanks Johan fo rthe excellent work!

  25. Posted March 15, 2011 at 9:08 am | Permalink

    Great updates on the changes. I will immediately try it on and check out for a good thing to happen. Congrats!

  26. Posted December 27, 2011 at 9:47 pm | Permalink

    Its glad to know that Gitorious is now a official Shortcut project.Moreover it will be maintained by Shortcut AS.lets see what happens next.


7 Trackbacks

  1. […] We’ve made a few changes! Gitorious now is a project maintained by Shortcut AS, which I co-founded. Shortcut AS now officially supports and develops Gitorious in cooperation with contributors outside Shortcut. Gitorious is, and will continue to be, 100% free software, licensed under the Affero GPL. […]

  2. […] “GitHub-clone”. It has been available as a open-source project for awhile but recently Shortcut made a free public site available for those who do not want to install Gitorious […]

  3. By Welcome Qt! « The Gitorious Blog on May 11, 2009 at 3:02 pm

    […] The Gitorious Blog Skip to content « We’ve made a few changes! […]

  4. […] به جلو دیروز متوجه شدم که سایت Gitorious تغییر کرده! اینجا در یک پست در بلاگ این پروژه توضیح داده شده! بهینه شده، و […]

  5. […] متوجه شدم که سایت Gitorious تغییر کرده! اینجا در یک پست در بلاگ این پروژه توضیح داده شده! بهینه شده، و […]

  6. By Cotygodniowy biuletyn KDE nr 4 - Silezja.eu on May 22, 2009 at 6:42 pm

    […] (twórcę Gitoriousa). To właśnie wynikiem tej kooperacji jest nowa strona Gitoriousa o czym pisze sam Johan. Firma QT Software zapowiada, że współpraca trwa dalej, a jej kolejne owoce wkrótce ujrzą […]

  7. By A word from the designer « The Gitorious Blog on June 18, 2009 at 12:38 pm

    […] went through some rather big changes one month ago (11th. of May). Among them was the new relationship with Shortcut. And as a part of […]

Follow

Get every new post delivered to your Inbox.

Join 865 other followers

%d bloggers like this: