Difference between revisions of "Gitolite"

From GnuCash
Jump to: navigation, search
m (Little layout work)
(Gitolite.com's abstract.)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 +
"Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features." [http://gitolite.com/gitolite/index.html 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.
 
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.
  
Line 13: Line 14:
 
* rename repo '''gnucash-htdocs''' to '''gnucash-htdocs-old'''
 
* rename repo '''gnucash-htdocs''' to '''gnucash-htdocs-old'''
 
* create a new, empty repo called '''gnucash-htdocs'''
 
* create a new, empty repo called '''gnucash-htdocs'''
 
=== On www ===
 
* move the existing repo out of the way
 
* create a new empty repo in the old spot
 
* set '''git@code.gnucash.org:gnucash-htdocs''' as origin for this repo
 
  
 
=== In gitolite-admin ===
 
=== In gitolite-admin ===
* comment out the '''gnucash-htdocs''' repo
+
* comment out the '''gnucash-htdocs''' repo (this will make gitolite "forget" about this repo)
* push changes upstream (this will make gitolite "forget" about this repo)
+
* disable the code that tickles www to pull website updates
 +
* push changes upstream
  
 
=== On code ===
 
=== On code ===
Line 27: Line 24:
  
 
=== In gitolite-admin ===
 
=== In gitolite-admin ===
* uncomment the '''gnucash-htdocs''' repo
+
* uncomment the '''gnucash-htdocs''' repo (this causes gitolite to recreate repo)
* push changes upstream (this causes gitolite to recreate repo)
+
* push changes upstream
  
 
=== On code ===
 
=== On code ===
Line 36: Line 33:
 
* set '''git@code.gnucash.org:gnucash-htdocs''' as origin for the gnucash-htdocs repo
 
* set '''git@code.gnucash.org:gnucash-htdocs''' as origin for the gnucash-htdocs repo
 
* push reduced 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

Latest revision as of 19:19, 28 July 2017

"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