From Fedora Project Wiki

Revision as of 21:35, 16 June 2011 by Ricky (talk | contribs) (Add note on git non-fast-forward pushes.)


Provide hosting place for open source projects

Contact Information

Owner: Fedora Infrastructure Team

Contact: #fedora-admin, sysadmin-hosted

Location: Serverbeach

Servers: hosted1, hosted2

Purpose: Provide hosting place for open source projects

Description can be used to host open source projects. It provides the following facilities:

  1. An scm for maintaining the code. The currently supported scm's include Mercurial, Git, Bazaar, or SVN. Note: There is no cvs
  2. A trac instance, which provides a mini-wiki for hosting information and also provides a ticketing system.
  3. A mailing list

How to setup a new hosted project

This page is for administrators only. People wishing to request a hosted project should use the Ticketing System ; see the
new project request template
. (Requires Fedora Account)
  1. Create source group in Fedora Account System (<scm>project should be the group name)
  2. Create source repo
  3. Log into hosted1
  4. Create new project space:
    $ sudo /usr/local/bin/ <project name> <project admin> <scm type>
    • <project name> must use the same case as the scm repo
    • You're likely to end up with 'Command failed: columns username, action are not unique' - this can be safely ignored as this only tries to tell you that you are giving admin access to a person already having admin access
  5. If a mailing list is desired:
    follow the directions for the mailman SOP

How to import data from a cvs repo into git repo

Often users request their git repos to be imported from an existing cvs repo. This is a two step process as follows:

git-cvsimport -v -d -C <dir> <cvs_module>
sudo git clone --bare --no-hardlinks </pathto/cvsimported/repo> /git/<git_dir>.git/


git-cvsimport -v -d -C translation-quick-start-guide translation-quick-start-guide
sudo git clone --bare --no-hardlinks translation-quick-start-guide/ /git/translation-quick-start-guide.git/

Git notes

Note that our git repos disallow non-fast-forward pushes by default. This default makes the most sense, but sometimes, users understand the impact of doing so, but still wish to make such a push.

To enable this temporarily, edit the config file inside of the git repo, and make sure that receive.denyNonFastforwards is set to false. Make sure to reenable this once the user has finished their push.