2011-12-15 17 views
5

W jaki sposób mogę ograniczyć dostęp do repozytorium, aby niektórzy użytkownicy mogli dokonywać tylko płatności/aktualizacji?Dostęp do odczytu repozytorium Subversion

Chcemy kontrolować repozytorium, aby do repozytorium został przypisany tylko gotowy do produkcji kod, ale nadal chcemy, aby programiści korzystali z repozytorium i mieli aktualny dostępny kod.

Odpowiedz

6

Zakładając, że używasz svnserv:

Musisz skonfigurować uprawnienia użytkownika jawnie w pliku authz.

harry = rw 
sally = r 

Ponadto, istnieje sekcja w pliku svnserv.conf patrzeć:

Harry odczytu/zapisu, a Sally jest tylko do odczytu.

[general] 
### These options control access to the repository for unauthenticated 
### and authenticated users. Valid values are "write", "read", 

### and "none". The sample settings below are the defaults. 

anon-access=read 

auth-access=write 

Jest więcej informacji tutaj: http://www.visualsvn.com/support/svnbook/serverconfig/svnserve/

0
  1. marginesie. Obawiam się, ale wybrana metodologia ignoruje starą dobrą regułę: "Prowadź często, popełniaj szybko". W rezultacie możesz mieć duże, mniej zarządzalne zatwierdzenia, nieregularną i słabą komunikację między programistami i (prawdopodobnie) mniej efektywną pracę. Jeśli chcesz mieć miejsce na stabilny kod, możesz ograniczyć i ograniczyć tylko część repo dla codziennych zatwierdzeń (trunk lub oddział), ale zezwalaj na nieograniczony dostęp programistów do innych części
  2. Sposób podawania dla commit-policy heavy zależy od używanego backendu repo (protokołu dostępu), nic o tym nie powiedziałeś. Repozytoria Apache-served (lub svn + ssh: //) używają własnych metod.

PS - Zamówienie/aktualizacja jest do odczytu, tylko popełnić jest prawo zapisu do repozytorium

+1

Dzięki za info. Chcę tylko wiedzieć, jak zapobiegać zatwierdzeniom niektórych użytkowników. – lamcro

+0

[Apache i Authz] (http://davidwinter.me/articles/2006/03/03/access-control-for-subversion-with-apache2-and-authz/) link –

+0

Zgadzam się, zależy to od repozytorium repo . Myślę, że odpowiedź, którą ludzie szukają tutaj, jest linkiem wyjaśniającym, jak to zrobić dla różnych backendów. – AdamS

Powiązane problemy