diff --git a/conf/example.gitolite.rc b/conf/example.gitolite.rc index f5e64a1..d2adbfd 100644 --- a/conf/example.gitolite.rc +++ b/conf/example.gitolite.rc @@ -16,6 +16,14 @@ $REPO_BASE="repositories"; +# the default umask for repositories is 0077; change this if you run stuff +# like gitweb and find it can't read the repos. Please note the syntax; the +# leading 0 is required + +$REPO_UMASK = 0077; # gets you 'rwx------' +# $REPO_UMASK = 0027; # gets you 'rwxr-x---' +# $REPO_UMASK = 0022; # gets you 'rwxr-xr-x' + # -------------------------------------- # I see no reason anyone may want to change the gitolite admin directory, but diff --git a/doc/3-faq-tips-etc.mkd b/doc/3-faq-tips-etc.mkd index c31f4da..595d938 100644 --- a/doc/3-faq-tips-etc.mkd +++ b/doc/3-faq-tips-etc.mkd @@ -59,7 +59,7 @@ normal way, since it's not empty anymore. * cloning an empty repo is only possible with clients greater than 1.6.2. So at least one of your clients needs to have a recent git. Once at least - one commit has been made, older clients can also use it. + one commit has been made, older clients can also use it * when you clone an empty repo, git seems to complain about the remote hanging up or something. I have no idea what that is, but it doesn't seem @@ -81,7 +81,10 @@ normal way, since it's not empty anymore. automatically be committed. This is a simple safety net in case you accidentally delete the whole config or something. Also see [4-push-to-admin.mkd](http://github.com/sitaramc/gitolite/blob/pu/doc/4-push-to-admin.mkd) - if you really know what you're doing and want "push to admin". + if you really know what you're doing and want "push to admin" + + * gitweb not able to read your repos? You can change the umask for newly + created repos to something more relaxed -- see the `~/.gitolite.rc` file ### differences from gitosis diff --git a/src/gl-compile-conf b/src/gl-compile-conf index 06917da..3154dc1 100755 --- a/src/gl-compile-conf +++ b/src/gl-compile-conf @@ -41,7 +41,7 @@ use Data::Dumper; # common definitions # ---------------------------------------------------------------------------- -our ($GL_ADMINDIR, $GL_CONF, $GL_KEYDIR, $GL_CONF_COMPILED, $REPO_BASE); +our ($GL_ADMINDIR, $GL_CONF, $GL_KEYDIR, $GL_CONF_COMPILED, $REPO_BASE, $REPO_UMASK); # now that this thing *may* be run via "push to admin", any errors have to # grab the admin's ATTENTION so he won't miss them among the other messages a @@ -66,8 +66,8 @@ my $USERNAME_PATT=qr(^\@?[0-9a-zA-Z][0-9a-zA-Z._-]*$); # very simple patter my %groups = (); my %repos = (); -# set a restrictive umask, just in case -umask(0077); +# set the umask before creating any files +umask($REPO_UMASK); # ---------------------------------------------------------------------------- # subroutines