Git For Garage

Line 14: Line 14:
The full git offering for maemo projects will come in 3 phases.  
The full git offering for maemo projects will come in 3 phases.  
-
In the first phase we will offer git for the new garage projects. These projects may choose git as their VCS. They will get a repository on a maemo server (the name will be probably git.maemo.org) which they can start using immediately. Project members will automatically get commit access, while non-members will be able to pull code using [standard git tools].
+
* In the first phase we will offer git for the new garage projects. These projects may choose git as their VCS. They will get a repository on a maemo server (the name will be probably git.maemo.org) which they can start using immediately. Project members will automatically get commit access, while non-members will be able to pull code using [standard git tools].
-
The software and documentation will be hosted as [http://garage.maemo.org/projects/ggit ggit on garage].
+
* In the second phase we create a web interface allowing browsing of git trees, viewing commits and diffs. The features will be similar to those available for [https://garage.maemo.org/plugins/scmsvn/viewcvs.php/?root=gbounty subversion repositories today].
 +
 
 +
We will reuse features and probably source codes from existing, open source projects, such as [http://git.or.cz/gitwiki/Gitweb gitweb] or [http://people.proekspert.ee/peeter/git/git.php?p=git-php.git git-php]. The new interface will be seamlessly integrated with the rest of GForge.
 +
 
 +
* In the last phase we try to provide mechanisms for svn to git migration. This will help existing projects to convert their repository into git. Details of this phase still to be worked out.
 +
 
 +
All the software and documentation will be hosted as [http://garage.maemo.org/projects/ggit ggit on garage].
== Acronyms ==
== Acronyms ==

Revision as of 19:07, 30 November 2008

Contents

Overview

The purpose of this page is to describe details of the "Git for garage" projects that is being kicked off at the beginning of December, 2008.

Background

Garage have been a successful hosting environment for maemo projects since 2006. The tool that powers garage is GForge with some modifications done by the maemo team. Software projects coming to garage can only use one source code revision control system, that is subversion, aka svn. Ever since the Linux kernel is maintained by git we had been asked to offer git for garage projects as well. The time has finally came and we are now developing the changes.

The GForge team has developed a git plugin which provides the functionality we are trying to achieve, but their plugin is meant for the Advanced Server edition of GForge. GForge AS is not in line (both code- and license wise) with the open source version we have at garage. Therefore we decided to write a free plugin for garage, which could be used by on any GForge 4.5.20+ installations.

Plans

The full git offering for maemo projects will come in 3 phases.

  • In the first phase we will offer git for the new garage projects. These projects may choose git as their VCS. They will get a repository on a maemo server (the name will be probably git.maemo.org) which they can start using immediately. Project members will automatically get commit access, while non-members will be able to pull code using [standard git tools].
  • In the second phase we create a web interface allowing browsing of git trees, viewing commits and diffs. The features will be similar to those available for subversion repositories today.

We will reuse features and probably source codes from existing, open source projects, such as gitweb or git-php. The new interface will be seamlessly integrated with the rest of GForge.

  • In the last phase we try to provide mechanisms for svn to git migration. This will help existing projects to convert their repository into git. Details of this phase still to be worked out.

All the software and documentation will be hosted as ggit on garage.

Acronyms

Acronym Meaning
GForge AS GForge Advanced Server Edition [1]
VCS Version Control System