systems:git

Git on y3.php.net

  • The main git user is called git
  • His home directory is in /git
  • We use gitolite
  • Repos are stored in /git/repositories

Creating a new repository

  1. You need access to git.php.net:gitolite-admin.git
  2. Add the repository to the long long list of repos in conf/gitlite.conf
  3. OR Add the repository itself to conf/gitolite.conf
    1. Ensure RW+ is set to @all
    2. Ensure R is set to daemon gitweb
    3. Ensure config.sharedRepository = true
    4. Add a description at the end of the file
    5. Do not give access to any other user except daemon and gitweb
  4. Create the repo on github. Use dash instead of slashes e.g. pecl/numbers/bitset becomes pecl-numbers-bitset on github
  5. Import the repository using svn2git.
    1. git init reponame
    2. cd reponame
    3. svn2git --verbose --authors /path/to/authors.map http://svn.php.net/repository/pecl/package
    4. The authors.map is in the gitolite-admin.git repo.
    5. Push it to the newly created repository.
    6. Make sure all branches are pushed
  6. Add the appropriate hooks.mailinglist config variable
    1. Do that AFTER you pushed the initial repository or people will hate you.
  7. Rename <REPO> to <REPO>.git in the global_avail file in SVNROOT.
  8. A GitHub repository should be created by an “owner” of the PHP-GitHub project using https://main.php.net/manage/github.php

karma & co is going to be installed automatically. If you have problem call dsp@php.net.

systems/git.txt · Last modified: 2021/04/06 08:06 by sergey