diff options
author | Tommi Virtanen <tv@eagain.net> | 2007-09-03 21:16:15 -0700 |
---|---|---|
committer | Tommi Virtanen <tv@eagain.net> | 2007-09-03 21:16:15 -0700 |
commit | 1f3924e2cb86081a5d8a6292c895f15a2664d0da (patch) | |
tree | 4a658f8db30b4423ca7dc6318870dd021968ac31 /gitosis/init.py | |
parent | Make gitosis-init ignore error from non-existent config file. (diff) | |
download | gitosis-dakkar-1f3924e2cb86081a5d8a6292c895f15a2664d0da.tar.gz gitosis-dakkar-1f3924e2cb86081a5d8a6292c895f15a2664d0da.tar.bz2 gitosis-dakkar-1f3924e2cb86081a5d8a6292c895f15a2664d0da.zip |
Make gitosis-init call run_hook.post_update directly.
This avoids complexity where failing to read the config file in
gitosis-run-hook is non-fatal, but only on the first run. gitosis-init
will take care of config file reading and just pass a RawConfigParser
instance to run_hook.post_update.
Diffstat (limited to 'gitosis/init.py')
-rw-r--r-- | gitosis/init.py | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/gitosis/init.py b/gitosis/init.py index 0da6ed3..61504c8 100644 --- a/gitosis/init.py +++ b/gitosis/init.py @@ -6,7 +6,6 @@ import errno import logging import os import re -import subprocess import sys from pkg_resources import resource_filename @@ -14,6 +13,7 @@ from cStringIO import StringIO from ConfigParser import RawConfigParser from gitosis import repository +from gitosis import run_hook from gitosis import util from gitosis import app @@ -51,23 +51,6 @@ def initial_commit(git_dir, cfg, pubkey, user): ], ) -class PostUpdateFailedError(Exception): - """post-update hook failed""" - - def __str__(self): - return '%s: %s' % (self.__doc__, ': '.join(self.args)) - -def run_post_update(git_dir): - args = [os.path.join(git_dir, 'hooks', 'post-update')] - returncode = subprocess.call( - args=args, - cwd=git_dir, - close_fds=True, - env=dict(GIT_DIR='.'), - ) - if returncode != 0: - raise PostUpdateFailedError('exit status %d' % returncode) - def symlink_config(git_dir): dst = os.path.expanduser('~/.gitosis.conf') tmp = '%s.%d.tmp' % (dst, os.getpid()) @@ -133,7 +116,6 @@ class Main(app.App): def handle_args(self, parser, cfg, options, args): super(Main, self).handle_args(parser, cfg, options, args) - logging.basicConfig(level=logging.INFO) os.umask(0022) log.info('Reading SSH public key...') @@ -153,11 +135,7 @@ class Main(app.App): user=user, ) log.info('Running post-update hook...') - try: - run_post_update(git_dir=admin_repository) - except PostUpdateFailedError, e: - log.error('%s', e) - sys.exit(1) + run_hook.post_update(cfg=cfg, git_dir=admin_repository) log.info('Symlinking ~/.gitosis.conf to repository...') symlink_config(git_dir=admin_repository) log.info('Done.') |