Git For Garage

Git is available as an alternative version control system to Subversion for Garage projects.

Contents

[edit] Requesting Git for your Garage project

[edit] New Projects

When you start a new project at garage you can select "git" to be the default version control system. At the bottom of the request form you can pick between "svn" and "git". Your new project will automatically have a "git" repository.

[edit] Old Project Can Request Conversion

This feature has not been advertized, but it is possible to convert an existing subversion repository to a "git" repo. All you need to do is to go to the "Admin" page of your project's SCM section and click the "Convert to git repository" button.

Your request will be scheduled and you can monitor the progress through a link that will be shown to you as soon as you hit the button.

The conversion works the best (tm) with svn repositories that have "standard layout". Standard layout means that the root of the subversion repo has:

-trunk

-branches

-tags

Branches and tags will be converted to proper git branches, while trunk will be the master branch.

If your project has a 'www' directory in its root, then it is also supposed to be converted.

Conversion also works for repositories that do not have the standard layout. However this features was just recently introduced, so bugs might surface.

If the conversion was OK, then your subversion repo will be disabled, meaning that no further can commits can go into it. However it will remain safe on our servers and if you remember the URL than you can even read it.

If you are unhappy with the result of the conversion then please request to restore it. We will revert your svn repository just like it was at the time of your conversion request.

If the conversion FAILED, then the system will not do any changes to your project settings and your svn repo remains usable.

In case you have questions, feedback or experience problems please report them through bugzilla, or just send an email to "garage at maemo dot org".

[edit] Garage-specific information

Git on Garage uses the https access method via cURL (most Git installations use Git over ssh, and this is currently under development for Garage). This may cause problems due to the security certificate on https://vcs.maemo.org, so if you experience any issues with 'git clone' or 'git push' please try to set the GIT_SSL_NO_VERIFY environment variable to 1, for example:

export GIT_SSL_NO_VERIFY=1

in a terminal on Linux using bash.

For proxy users, the https_proxy environment variable must be set, for example:

export https_proxy="172.21.112.250:8080"

To authenticate, make sure you have filled in your Garage credentials to ~/.netrc, for example:

machine vcs.maemo.org
login __garage user name__
password __garage password__

[edit] Additional info

The information on the Garage SCM page for Git projects seems incorrect or incomplete. If you want to push you will need to specify:

https://<garage username>@vcs.maemo.org/git/<project name>...as the URL of the repository.

[edit] Further reading