From b629c73a014497b3ed0176721b08b91b9ba47ac7 Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 15 Dec 2007 06:11:58 -0800 Subject: Factor out the stuff that changes repos based on the config only. --- gitosis/run_hook.py | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/gitosis/run_hook.py b/gitosis/run_hook.py index 2e4fa91..a1ce0ad 100644 --- a/gitosis/run_hook.py +++ b/gitosis/run_hook.py @@ -13,6 +13,26 @@ from gitosis import gitdaemon from gitosis import app from gitosis import util +def build_reposistory_data(config): + """ + Using the ``config`` data, perform all actions that affect files in the .git + repositories, such as the description, owner, and export marker. Also + update the projects.list file as needed to list relevant repositories. + + :type config: RawConfigParser + """ + gitweb.set_descriptions( + config=config, + ) + generated = util.getGeneratedFilesDir(config=config) + gitweb.generate_project_list( + config=config, + path=os.path.join(generated, 'projects.list'), + ) + gitdaemon.set_export_ok( + config=config, + ) + def post_update(cfg, git_dir): """ post-update hook for the Gitosis admin directory. @@ -31,17 +51,7 @@ def post_update(cfg, git_dir): os.path.join(export, 'gitosis.conf'), os.path.join(export, '..', 'gitosis.conf'), ) - gitweb.set_descriptions( - config=cfg, - ) - generated = util.getGeneratedFilesDir(config=cfg) - gitweb.generate_project_list( - config=cfg, - path=os.path.join(generated, 'projects.list'), - ) - gitdaemon.set_export_ok( - config=cfg, - ) + build_reposistory_data(cfg) ssh.writeAuthorizedKeys( path=os.path.expanduser('~/.ssh/authorized_keys'), keydir=os.path.join(export, 'keydir'), -- cgit v1.2.3