Limitar el acceso del código fuente a pocos files en un directory, a nuevos desarrolladores – SVN

Hay algunos consultores nuevos que trabajarán en partes de un software que no son funcionalmente críticas para el software en general. El software no está organizado de forma modular, y todos estos files fuente que contienen la funcionalidad no crítica no están aislados en un directory.

¿Hay alguna manera de que los consultores no puedan bifurcar / ramificar el proyecto y también puedan trabajar solo en files (los files de funcionalidad no crítica)?

El software de control de versiones es SVN en este caso.

Si utiliza el server VisualSVN en Windows, puede establecer fácilmente permissions de acceso (por ejemplo, de solo lectura o sin acceso) en los directorys. No se puede configurar nada por file en SVN (fue diseñado para operar en directorys). Otros sistemas SVN pueden hacer lo mismo editando el file authz y editando una input para cada directory que desee proteger.

Establecer controles de acceso en files individuales se convertirá rápidamente en una pesadilla, así que mueva los files que desea proteger a un par de directorys y coloque sus controles sobre ellos.

Puedes hacer esto haciendo lo siguiente:

  1. Mueva los files fuente con funcionalidad no crítica a otra location en el repository. Sugeriría a un nivel de carpeta el mismo que el tronco.
  2. Configure los permissions para que los consultores tengan acceso de solo lectura al repository existente y acceso de lectura / escritura al nuevo directory creado en el paso 1
  3. Agregue un SVN: Externo para los files que movió en el paso 1. A partir del SVN 1.6, puede tener files externos individuales

Asegúrese de dar a sus consultores acceso de solo lectura al enlace troncal y acceso de lectura y escritura al nuevo directory

El paso 3 es complicado, así que intentaré explicarlo más. Digamos que su repository original tiene una estructura de files como esta

/trunk /lib - Non Critical File 1.txt - Non Critical File 2.txt - Other files.h 

Después de haber completado el paso 3, su repository se vería así:

 /trunk /lib - SVN: External to Non Critical File 1.txt - SVN: External to Non Critical File 2.txt - Other files.h /NewDirectory - Non Critical File 1.txt - Non Critical File 2.txt 

Haga esto para cada uno de los files no críticos.

Esto permitirá que sus consultores solo vean los files en el repository existente, pero solo actualicen los files en el directory recién creado.

Para configurar SVN: Externals ver esta publicación de desbordamiento de stack