aboutsummaryrefslogtreecommitdiff
path: root/gitosis/serve.py
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2007-12-28 08:19:03 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2007-12-28 08:19:03 +0000
commit33cd99f204403f6f486507d4494c84880e85593c (patch)
treef36834196b1a7b5987b48d3b7bd9110d9b10b80a /gitosis/serve.py
parentRemove old extract_user function, replaced by username property of SSHPublicK... (diff)
downloadgitosis-dakkar-33cd99f204403f6f486507d4494c84880e85593c.tar.gz
gitosis-dakkar-33cd99f204403f6f486507d4494c84880e85593c.tar.bz2
gitosis-dakkar-33cd99f204403f6f486507d4494c84880e85593c.zip
Add support for custom perms during repo creation.
Diffstat (limited to 'gitosis/serve.py')
-rw-r--r--gitosis/serve.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/gitosis/serve.py b/gitosis/serve.py
index c473de5..9718758 100644
--- a/gitosis/serve.py
+++ b/gitosis/serve.py
@@ -9,6 +9,7 @@ import logging
import sys, os, re
from gitosis import access
+from gitosis import configutil
from gitosis import repository
from gitosis import app
from gitosis import util
@@ -107,11 +108,14 @@ def serve(cfg, user, command):
# create leading directories
path = topdir
+ newdirmode = configutil.get_default(cfg, 'repo %s' % (relpath, ), 'dirmode', None)
+ if newdirmode is None:
+ newdirmode = configutil.get_default(cfg, 'gitosis', 'dirmode', 0750)
for segment in repopath.split(os.sep)[:-1]:
path = os.path.join(path, segment)
- util.mkdir(path, 0750)
+ util.mkdir(path, newdirmode)
- repository.init(path=fullpath)
+ repository.init(path=fullpath, mode=newdirmode)
run_hook.build_reposistory_data(cfg)
# put the verb back together with the new path