On Fri, 28 Jan 2011 03:41:24 -0800 (PST)
vikram2rhyme [off-list ref] wrote:
I am wondering if there are any permission and authorization control
over git repository.
[...]
In the simplest case -- r/w access via SSH -- those who know the
login/password or possess the necessary private key have (full) access
to the repository. The repository can also be made accessible for
read-only via Git protocol (as a whole as well). This can be used for
simple write/read access discrimination.
If a more fine-grained control
is needed, third-party tools exist: gitolite:
https://github.com/sitaramc/gitolite gitosis: http://swik.net/gitosis
Note that as Git does not suffer from a centralised VCS syndrome of
having a single repository shared by everyone involved, the problem
you're facing might not exist at all: every developer or a group of
related developers maintains their own repository and a "central"
repository (in whatever sense you're willing to put into it) is owned
by a special person or a group of persons.
* Konstantin Khomoutov [off-list ref] wrote:
<snip>
In fact, git does not have any access control whatsoever. It relies
on what the underlying transport protocol allows it to do.
With ssh, you could wrap the commands into some script which checks,
the permissions on calling-in user or key (eg. restrict write access
on certain refs to certain people). You could do even more fancy
things like given everybody (or certain people) unrestricted write
access, but under the hood put their rename the updated refs
(eg. you can push 'master', but on the server, refs/heads/master
wont be overwritten, instead it goes to refs/heads/konstantin/master).
Some people (coming from strictly-central ideologies) might consider
git's access control angonsticity a drawback, but IMHO it's a very
good thing - git doesn't want to be a full-blown "out-of-the-box"
VCS (like, eg. clearcase), but more a lightweight toolkit to easily
build your own.
cu
--
----------------------------------------------------------------------
Enrico Weigelt, metux IT service -- http://www.metux.de/
phone: +49 36207 519931 email: weigelt@metux.de
mobile: +49 151 27565287 icq: 210169427 skype: nekrad666
----------------------------------------------------------------------
Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
----------------------------------------------------------------------