Gitolite

From GnuCash
Jump to: navigation, search

"Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features." gitolite.com GnuCash maintains its source code repositories in gitolite. This comes with some constraints on how to administer the repos. You can't just delete and recreate a repo on the server for instance. You need to do some steps the gitolite way or things stop working.

This page is meant to collect such points of attention.


Replace gnucash-htdocs repo

Background: the gnucash-hdocs repo (used to) contain all the compiled documentation. This documentation alone is about 570Mb, which most website editors will never touch. So it was decided to move these docs into a separate repo. Replacing the repo affect several other repos: the github slave repo and the website's slave repo. Both have to be replaced at the appropriate time as well.

Here's the steps that should do it:

On github

  • rename repo gnucash-htdocs to gnucash-htdocs-old
  • create a new, empty repo called gnucash-htdocs

In gitolite-admin

  • comment out the gnucash-htdocs repo (this will make gitolite "forget" about this repo)
  • disable the code that tickles www to pull website updates
  • push changes upstream

On code

  • move gnucash-htdocs directory out of the way

In gitolite-admin

  • uncomment the gnucash-htdocs repo (this causes gitolite to recreate repo)
  • push changes upstream

On code

On Geert's local machine

  • set git@code.gnucash.org:gnucash-htdocs as origin for the gnucash-htdocs repo
  • push reduced repo

On www

  • create a new empty repo
  • set git://github.com/Gnucash/gnucash-htdocs.git as origin for this new repo
  • pull from origin
  • check if all is there
  • replace the existing repo with the new one
  • set git@code.gnucash.org:gnucash-htdocs as origin for this repo

And repeat for beta site