Merge branch '@all-for-repos' into wildrepos
Conflicts: src/gl-compile-conf
This commit is contained in:
commit
203d5690be
|
@ -106,6 +106,14 @@ repo gitolite
|
||||||
repo @oss_repos
|
repo @oss_repos
|
||||||
R = @all
|
R = @all
|
||||||
|
|
||||||
|
# set permissions to all already defined repos
|
||||||
|
# (a repository is defined if it has permission rules
|
||||||
|
# associated, empty "repo" stanza or "@group=..." line is
|
||||||
|
# not enough). *Please* do see doc/3-faq-tips-etc.mkd for
|
||||||
|
# some important notes on this feature
|
||||||
|
repo @all
|
||||||
|
RW+ = @admins
|
||||||
|
|
||||||
# ADVANCED PERMISSIONS USING REFEXES
|
# ADVANCED PERMISSIONS USING REFEXES
|
||||||
|
|
||||||
# - refexes are specified in perl regex syntax
|
# - refexes are specified in perl regex syntax
|
||||||
|
|
|
@ -5,6 +5,10 @@ In this document:
|
||||||
* common errors and mistakes
|
* common errors and mistakes
|
||||||
* git version dependency
|
* git version dependency
|
||||||
* other errors, warnings, notes...
|
* other errors, warnings, notes...
|
||||||
|
* ssh-copy-id
|
||||||
|
* cloning an empty repo
|
||||||
|
* `@all` syntax for repos
|
||||||
|
* umask setting
|
||||||
* getting a tar file from a clone
|
* getting a tar file from a clone
|
||||||
* differences from gitosis
|
* differences from gitosis
|
||||||
* simpler syntax
|
* simpler syntax
|
||||||
|
@ -77,8 +81,10 @@ normal way, since it's not empty anymore.
|
||||||
|
|
||||||
### other errors, warnings, notes...
|
### other errors, warnings, notes...
|
||||||
|
|
||||||
* don't have `ssh-copy-id`? This is broadly what that command does, if you
|
#### ssh-copy-id
|
||||||
want to replicate it manually. The input is your pubkey, typically
|
|
||||||
|
don't have `ssh-copy-id`? This is broadly what that command does, if you want
|
||||||
|
to replicate it manually. The input is your pubkey, typically
|
||||||
`~/.ssh/id_rsa.pub` from your client/workstation.
|
`~/.ssh/id_rsa.pub` from your client/workstation.
|
||||||
|
|
||||||
* it copies it to the server as some file
|
* it copies it to the server as some file
|
||||||
|
@ -98,16 +104,34 @@ normal way, since it's not empty anymore.
|
||||||
they're already set that way anyway. (Or if they're not, you've got
|
they're already set that way anyway. (Or if they're not, you've got
|
||||||
bigger problems than gitolite install not working!)]
|
bigger problems than gitolite install not working!)]
|
||||||
|
|
||||||
* cloning an empty repo is only possible with clients greater than 1.6.2.
|
#### cloning an empty repo
|
||||||
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
|
|
||||||
|
|
||||||
* when you clone an empty repo, git seems to complain about `fatal: The
|
Cloning an empty repo is only possible with clients greater than 1.6.2. So at
|
||||||
remote end hung up unexpectedly`. However, you can ignore this, since it
|
least one of your clients needs to have a recent git. Once at least one
|
||||||
doesn't seem to hurt anything. [Update 2009-09-14; this has been fixed in
|
commit has been made, older clients can also use it
|
||||||
git 1.6.4.3]
|
|
||||||
|
|
||||||
* gitweb not able to read your repos? You can change the umask for newly
|
When you clone an empty repo, git seems to complain about `fatal: The remote
|
||||||
|
end hung up unexpectedly`. However, you can ignore this, since it doesn't
|
||||||
|
seem to hurt anything. [Update 2009-09-14; this has been fixed in git
|
||||||
|
1.6.4.3]
|
||||||
|
|
||||||
|
#### `@all` syntax for repos
|
||||||
|
|
||||||
|
There *is* a way to use the `@all` syntax for repos also, as described in
|
||||||
|
`conf/example.conf`. However, there is an important difference between this
|
||||||
|
and the old `@all` (for users):
|
||||||
|
|
||||||
|
* `@all` for repos is immediately expanded, when found, into the currently
|
||||||
|
known list of repos. "Currently" means upto this point in the config
|
||||||
|
file, and "known" means having some user with some permissions associated
|
||||||
|
with the repo!
|
||||||
|
|
||||||
|
* This means that if you really want *all* repos, you'd better put this para
|
||||||
|
at the **end** of the config file!
|
||||||
|
|
||||||
|
#### umask setting
|
||||||
|
|
||||||
|
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
|
created repos to something more relaxed -- see the `~/.gitolite.rc` file
|
||||||
|
|
||||||
### getting a tar file from a clone
|
### getting a tar file from a clone
|
||||||
|
|
|
@ -148,8 +148,9 @@ Here's how it all hangs together.
|
||||||
|
|
||||||
Luckily, ssh has a very convenient way of capturing all the connection
|
Luckily, ssh has a very convenient way of capturing all the connection
|
||||||
information (username, hostname, port number (if it's not the default 22),
|
information (username, hostname, port number (if it's not the default 22),
|
||||||
and keypair to be used) in one "paragraph". This is what the para looks
|
and keypair to be used) in one "paragraph" of `~/.ssh/config`. This is
|
||||||
like for us (the easy install script puts it there the first time):
|
what the para looks like for us (the easy install script puts it there the
|
||||||
|
first time):
|
||||||
|
|
||||||
host gitolite
|
host gitolite
|
||||||
user git
|
user git
|
||||||
|
|
|
@ -193,8 +193,11 @@ sub parse_conf_file
|
||||||
{
|
{
|
||||||
# grab the list and expand any @stuff in it
|
# grab the list and expand any @stuff in it
|
||||||
@repos = split ' ', $1;
|
@repos = split ' ', $1;
|
||||||
|
if (@repos == 1 and $repos[0] eq '@all') {
|
||||||
|
@repos = keys %repos;
|
||||||
|
} else {
|
||||||
@repos = expand_list ( @repos );
|
@repos = expand_list ( @repos );
|
||||||
|
}
|
||||||
s/\bCREAT[EO]R\b/\$creater/g for @repos;
|
s/\bCREAT[EO]R\b/\$creater/g for @repos;
|
||||||
}
|
}
|
||||||
# actual permission line
|
# actual permission line
|
||||||
|
|
Loading…
Reference in a new issue