The Plan

KDE is, eventually, moving to Git. We will be using gitorious.org servers, with funding from Nokia. We will also have our own mirrors using existing KDE servers.

We are working with the Gitorious people to ensure their server will meet all our needs as well as everyone's privacy requirements. The distributed nature of Git will make it easy for us to migrate off gitorious.org at any time should the need arise (but that's unlikely :).

In the summer of 2009, Amarok moved to Gitorious to test the waters and find problems that would affect KDE. Once those problems have been solved, all of KDE will be able to switch.

Why?

Git offers many advantages over svn. [TODO: examples] Many KDE developers are already using git-svn, but this tool has its limitations. We want to have the full power of Git available, and we have people willing to do the work necessary to migrate.

How?

When we move, KDE's svn repository will be migrated into several Git repos, all on gitorious.org. main modules such as kdelibs and kdebase will each become one repository. projects in extragear will each have their own repository. The kde.gitorious.org site will have a list (lists?) of all these repositories. Scripts will be provided for downloading, say, all of extragear.

A few things will stay in subversion - currently websites, translations and manuals. It's possible they could move to Git later, but they won't be part of the mass migration.

On Gitorious, all KDE developers will be part of the kde-developers group. Developers in this group are required to set their "full name" for their Gitorious account to their real name. If you are not in this group or do not have an account, a system will be set up to simplify the process. Or you can just go to Gitorious yourself, create an account, and ask to be added to the group. :)

Discussion

Modules like kde-edu might not want to be a single repo; that remains to be decided. Playground will probably become obsolete, since anyone can make their own little repo. But then how do I find all of the playground plasmoids?

Blockers

Tasks that need to get done before we can migrate

e-mail notifications

Everyone added to the kde-developers group gets an e-mail when anyone makes a merge request to any of our projects. This is undesirable (as most KDE devs are not Amarok devs and many other permutations). A solution for this will have to be developed on Gitorious before all of KDE goes to Gitorious.

Johan will be working on this at the next Gitorious sprint.

Discussion

At a minimum, users need the ability to choose which projects to get email from. It would be really awesome to have more fine-grained control, though, like the commitfilter. konqueror and kwin and plasma will all be in the same git repo but I only want merge requests for one of them. --Chani

Method for joining the team

0% completed (estimate)

Owner:(unknown)

The svn account-creation process needs to be upgraded to include creating a Gitorious account (if none exists) and adding it to the kde-developers group.

Discussion

drf suggested a Git repo to do this, but the sysadmins may be happier with their bugzilla form. someone needs to contact them...

Account setup on Gitorious

0% completed (estimate)

Owner:eean, johan, boud, dario

Creating an account on gitorious isn't hard, but asking to be added to the kde group is inconvenient. For the migration we should set up a system (via email or wiki?) where developers can ask to have an account autocreated for them, or add their existing gitorious account to a list to be added to the group. Once this is in place an announcement should be sent to all svn accounts explaining the process, and privacy information.

We also need to ensure everyone in the kde-developers group is on the Kde-cvs-announce list, and... our sysadmins need admin access to Gitorious? to create the accounts, I guess?

Discussion

I'm not sure what gitorious access sysadmin needs... need to check on that...

Commitfilter

50% completed (estimate)

Owner: Ian Monroe, Gitorious

Commit filter is not implemented on gitorious (or something similar) though rss feeds for each module you are interested in can be subscribed to in the meantime.

Discussion

The technique I used to do it wouldn't really scale to the rest of KDE (though it could in a pinch). Would rather have a gitorious-enabled solution. --eean 18:18, 11 November 2009 (UTC)

pre-commit hooks

0% completed (estimate)

Owner:(unknown)

acltest, docbook, EOL/UTF-8

A web hook isn't good enough for these because they have to run and return whether to allow the push, for every single push to every kde repo.

Discussion

gitorious guys said they *might* be willing to allow a few scripts on their server for kde as a special exception, iirc. --chani

Yes, at least for basic things, heavier things like doc building would probably have to be mirrored (goes for pre/post) --johan-s

It turns out that acl and docbook might not be needed so long as web and docs/ stuff stays in svn.

post-commit hooks

25% completed (estimate)

Owner:(unknown)

BUG/CCMAIL

email/CIA

license header checks

Gitorious is supposed to provide web hooks for this; have they started? who volunteered to write the scripts once that's done?

At least minimal documentation about how to checkout, how to get a gitorious account, how to request a merge needed, other git documentation and links to other git information would be very useful also.

Discussion

Nice to have before the migration:

Talk to people using other distros about git

0% completed (estimate)

Owner: Sebas

Discussion

Talk to windows guys about git.

0% completed (estimate)

Owner: Danimo

Discussion

Reviewboard

100% completed (estimate)

Owner: darktears

This should be easily done with gitorious web interface and merge requests actually.

Discussion

but reviewboard has features gitorious (right now) doesn't, like commenting on specific lines and not having to set up a merge request. --chani

Also email notifications when someone reviews are needed --thomasz

We're working on this for someone else right now, so pretty soon --johan-s

I consider the latest changes to gitorious to finish this. If more reviewboard features are still needed, and git supports reviewboard, I think this is something we can look at doing post-conversion. --Ian Monroe

Opt-in privacy exception required for kde-developers

0% completed (estimate)

Owner:Gitorious

We need a mechanism (possibly as simple as a new field on kde-common/accounts) that will let us do stuff like email all account holders. This is important for major announcements, and for invalidating dead accounts.

It would also be good to have direct backup access to the SQL database, so that we could setup our own gitorious.org in case it goes evil or something. This would also likely require a privacy exception, to allow Gitorious to share that with our sysadmins.

SSH blocked in corporations and universities.

100% completed (estimate)

Owner:Unknown

Some universities tend to block the SSH port. There should be a workaround to use SSH on some different port. github.com already runs a SSH server on port 443. But that assumes you are using a proxy. It has been found that this hasn't worked with a lot of people, especially those who have a direct connection to the internet ( so some transparent blocking by the ISP ). It would be great if (almost) every KDE developer were to be asked to check if other ports work before KDE made the switch. Otherwise there could be an automated email where the git patches could be sent, and appropriately patched to the right location too.