doc/3, conf: document @all for repos
plus some refactoring of doc/3
This commit is contained in:
parent
f37fb45144
commit
ba3cbd7ecf
|
@ -104,7 +104,8 @@ repo @oss_repos
|
||||||
# set permissions to all already defined repos
|
# set permissions to all already defined repos
|
||||||
# (a repository is defined if it has permission rules
|
# (a repository is defined if it has permission rules
|
||||||
# associated, empty "repo" stanza or "@group=..." line is
|
# associated, empty "repo" stanza or "@group=..." line is
|
||||||
# not enough)
|
# not enough). *Please* do see doc/3-faq-tips-etc.mkd for
|
||||||
|
# some important notes on this feature
|
||||||
repo @all
|
repo @all
|
||||||
RW+ = @admins
|
RW+ = @admins
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
@ -76,38 +80,58 @@ 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
|
|
||||||
`~/.ssh/id_rsa.pub` from your client/workstation.
|
|
||||||
|
|
||||||
* it copies it to the server as some file
|
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.
|
||||||
|
|
||||||
* it appends that file to `~/.ssh/authorized_keys` on the server
|
* it copies it to the server as some file
|
||||||
(creating it if it doesn't already exist)
|
|
||||||
|
|
||||||
* it then makes sure that all these files/directories have go-w perms
|
* it appends that file to `~/.ssh/authorized_keys` on the server
|
||||||
set (assuming user is "git"):
|
(creating it if it doesn't already exist)
|
||||||
|
|
||||||
/home/git/.ssh/authorized_keys
|
* it then makes sure that all these files/directories have go-w perms
|
||||||
/home/git/.ssh
|
set (assuming user is "git"):
|
||||||
/home/git
|
|
||||||
|
|
||||||
[Actually, sshd requires that even directories *above* ~ (/, /home,
|
/home/git/.ssh/authorized_keys
|
||||||
typically) also must be `go-w`, but that needs root. And typically
|
/home/git/.ssh
|
||||||
they're already set that way anyway. (Or if they're not, you've got
|
/home/git
|
||||||
bigger problems than gitolite install not working!)]
|
|
||||||
|
|
||||||
* cloning an empty repo is only possible with clients greater than 1.6.2.
|
[Actually, sshd requires that even directories *above* ~ (/, /home,
|
||||||
So at least one of your clients needs to have a recent git. Once at least
|
typically) also must be `go-w`, but that needs root. And typically
|
||||||
one commit has been made, older clients can also use it
|
they're already set that way anyway. (Or if they're not, you've got
|
||||||
|
bigger problems than gitolite install not working!)]
|
||||||
|
|
||||||
* when you clone an empty repo, git seems to complain about `fatal: The
|
#### cloning an empty repo
|
||||||
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]
|
|
||||||
|
|
||||||
* gitweb not able to read your repos? You can change the umask for newly
|
Cloning an empty repo is only possible with clients greater than 1.6.2. So at
|
||||||
created repos to something more relaxed -- see the `~/.gitolite.rc` file
|
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 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
|
||||||
|
|
||||||
### getting a tar file from a clone
|
### getting a tar file from a clone
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue