Domanda

Ho creato un repository SVN da zero, e ho etichettato con successo alcuni dei miei comunicati utilizzando il comando di copia SVN.

ho usato il plugin di autenticazione SSPI per apache, così i nostri sviluppatori appena colpito il server con le loro credenziali di rete, e tutto funziona bene.

Ho creato un file di autorizzazione AuthZ, aggiunto ai nostri sviluppatori di gruppi nel file, e li hanno concesso l'accesso in scrittura alla radice. Ho anche concesso utenti anonimi accesso in sola lettura alla radice.

Ho poi bloccato l'/ directory / svn con: Richiede-gruppo "CORP \ CKAN0BlahBlah"

Questo limita in modo efficace nuovi sviluppatori al gruppo di protezione di accesso in sola lettura fino a quando non viene concesso l'accesso attraverso il file di configurazione aAuthZ.

Ora, ho un paio di domande:

  1. Qual è il modo corretto (diverso sistema di onore) per impedire agli utenti da commettere modifiche ad uno qualsiasi degli "Tag" directory?

  2. E 'possibile utilizzare SSPI per passare i membri dei gruppi a AuthZ, piuttosto che una lista dei membri personalizzati nella configurazione il file?

È stato utile?

Soluzione 2

Domanda # 1 , ho sviluppato per questo:

@echo off
SET SVNLOOK=C:\Program Files\CollabNet Subversion Server\svnlook.exe
SET GREP=D:\SVN\Repo\hooks\grep.exe
SET LOG=D:\SVN\Repo Logs.txt

>>"%LOG%" echo ==== commit %1 %2 ====
>>"%LOG%" "%svnlook%" changed -t %2 %1

("%svnlook%" changed -t %2 %1 | "%grep%" "^U.*/tags/") && (echo Cannot commit to tags.>&2 && exit 1)
("%svnlook%" log -t %2 %1 | "%grep%" "[a-zA-Z0-9]") || (echo You must specify a comment.>&2 && exit 1)

exit 0

Afferrato lo strumento grep da http://sourceforge.net/projects/unxutils


Domanda # 2 , la risposta è NO, non è possibile controllare contro gruppi di protezione AD nel file di configurazione AuthZ.

Grazie per il vostro aiuto, tutti.

Altri suggerimenti

1 - È possibile utilizzare il gancio di pre-commit per prevenire commit, vedere SVN pre-commit hook per evitare modifiche al tag sottodirectory .

Modifica Per fare questo su Windows, provare quanto segue:

Salva come un file chiamato pre-commit.bat nella cartella ganci del pronti contro termine:

@echo off
set REPOSITORY=%1
echo %REPOSITORY% | find /I "tags"
if errorlevel 1 goto done
echo You tried to commit to %REPOSITORY% >&2
echo Committing to tags is not allowed >&2
exit 1
:done

Nota, questo impedirà commettere a qualsiasi percorso del repository che contiene il sottostringa tag . Modificare in base alle proprie esigenze.

Non c'è alcun modo "corretto". I tag sono un convegno e gli sviluppatori dovrebbero imparare e seguirla. A parte ciò, una prova di guasto può essere implementato usando ganci Subversion. Vedere questa pagina per un bel tutorial.

Questa mi sembra essere una questione di educazione e di processo. Se gli sviluppatori a comprendere lo scopo dei tag SVN, sembra molto meno probabile che avrete persone (volutamente) facendo commit a un tag. Quello che ho trovato ad essere indispensabile per comunicare in modo efficace questi processi è aggiornata, documentazione scritta. Il mio team utilizza un wiki per memorizzare la documentazione sui nostri processi (in particolare, usiamo MediaWiki ). L'approccio wiki sembra rendere le cose molto più accessibile e più facile da mantenere aggiornati di qualcosa come la memorizzazione di documenti MS Office con versione in SharePoint.

Come sull'utilizzo del file svn-auth per definire questo? questo sarebbe simile che:

[groups]
ADMINS=<your ID>
<rest of groups>=<all other IDs>

[/]
* = r
<rest of groups> = rw
@ADMINS = rw

[/tags]
<rest of groups> = r

In questo modo le ADMINS accesso in lettura e scrittura alla directory tag, ma nessun altro. Non so il plugin di autenticazione SSPI, quindi forse il mio esempio fornito non funziona nel vostro contesto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top