Pregunta

He creado un repositorio SVN desde cero, y me han etiquetado con éxito algunas de mis comunicados utilizando el comando de copia SVN.

He utilizado el plugin de autenticación SSPI para Apache, por lo que nuestros desarrolladores acaba de golpear el servidor con sus credenciales de red, y todo funciona muy bien.

He creado un archivo de autorización AuthZ, añadido a nuestros desarrolladores a grupos en el archivo, y les he concedido acceso de escritura a la raíz. También he concedido a los usuarios anónimos acceso de sólo lectura a la raíz.

a continuación, limitadas al / SVN / directorio con: Require-grupo "CORP \ CKAN0BlahBlah"

Esto limita de manera efectiva los nuevos desarrolladores en el grupo de seguridad de acceso de sólo lectura hasta que se les conceda acceso a través del archivo de configuración aAuthZ.

Ahora, tengo un par de preguntas:

  1. ¿Cuál es la forma correcta (que no sea el sistema de honor) para evitar que los usuarios de cometer cambios a cualquiera de las "Etiquetas" directorios?

  2. ¿Es posible utilizar SSPI para pasar los miembros de los grupos a AuthZ, en lugar de enumerar los miembros individualmente en la configuración presentar?

¿Fue útil?

Solución 2

Pregunta # 1 , he desarrollado para esto:

@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

Grabbed la herramienta grep de http://sourceforge.net/projects/unxutils


Pregunta # 2 , la respuesta es NO, no se puede comprobar en contra de los grupos de seguridad de AD en el archivo de configuración AuthZ.

Gracias por su ayuda, todo el mundo.

Otros consejos

1 - Se puede utilizar el gancho pre-commit para evitar confirmaciones, consulte SVN gancho pre-commit para evitar cambios a las etiquetas subdirectorios .

Editar Para hacer esto en Windows, intente lo siguiente:

Guardar como un archivo llamado pre-commit.bat en la carpeta ganchos de tu repositorio:

@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

Tenga en cuenta, esto evitará cometer a cualquier ruta del repositorio que contiene la subcadena etiquetas . Modificar de acuerdo a sus necesidades.

No hay manera "correcta". Las etiquetas son una convención y los desarrolladores deben aprender y seguirla. Aparte de eso, una prueba de fallos se pueden implementar usando ganchos de Subversion. Ver esta página para un buen tutorial.

Esto me parece ser una cuestión de educación y el proceso. Si sus desarrolladores a entender el propósito de sus etiquetas SVN, parece mucho menos probable que usted tiene la gente (intencionalmente) haciendo compromete a una etiqueta. Lo que encontré a ser indispensable para comunicarse efectivamente estos procesos es hasta la fecha, la documentación escrita. Mi equipo utiliza un wiki para almacenar la documentación acerca de nuestros procesos (en concreto, utilizamos MediaWiki ). El enfoque wiki parece hacer las cosas mucho más accesible y más fácil de mantenerse al tanto de que algo así como el almacenamiento de versionado de documentos de MS Office en SharePoint.

¿Y si uso el archivo svn-auth para definir eso? esto se vería así:

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

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

[/tags]
<rest of groups> = r

Esto permitirá a los administradores el acceso de lectura y escritura en el directorio de las etiquetas, pero nadie más. No sé el plugin de autenticación SSPI, por lo que tal vez mi ejemplo proporcionado no funciona en su contexto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top