¿Cómo no permitir que el file se cargue en el repository?

¿Es posible evitar que el file especificado (ruta) se comprometa con un repository?

Por ejemplo, necesitamos que somepath/database_config.php no se pueda comprometer.

Traté de usar la propiedad svn:ignore , pero parece ser que funciona solo para copys de trabajo, no para repositorys.

He leído svnbook.networking-bean.com sobre esta característica, pero siento que mi cerebro no puede entender por qué las cosas no funcionan como quiero.

FYI: svn:ignore solo funcionará si el file a ignorar NO está en el repository.

Lo que hago al agregar files de configuration en un repository, es crear un file de plantilla que se mantendrá en el repository y luego ignorar el file de configuration específico para cada desarrollador. Por lo tanto, cualquiera que solicite el código debería cambiar el nombre de la plantilla sin la extensión .template y poner su configuration local en ella.

De esta forma, cada desarrollador puede tener una configuration diferente sin afectar a todos.

es decir: file de plantilla: database_config.php.template

 $config = array( 'host' => 'XXXX', 'db' => 'XXXX', 'user' => 'XXXX', 'password' => 'XXXX', ); 

Archivo de configuration: database_config.php

 $config = array( 'host' => 'XXXX', 'db' => 'XXXX', 'user' => 'XXXX', 'password' => 'XXXX', ); 

Usted haría que estos commands svn se agreguen en su repository.

 // Add the template svn add database_config.php.template // Ignore the config file used by the system (Should not be in repository) svn propset svn:ignore "config.php" . svn commit 

Puede usar el command svn lock para evitar que un file o ruta específica sea alterada en el repository. Por lo tanto, para evitar que se cometa un determinado file, puede simplemente asignar un file vacío (o que contenga "no confirmar este file – las configuraciones solo deben realizarse en la máquina local") y luego alterar localmente su file para que contenga cualquier contenido que sea necesario

Después de que hayas bloqueado el file, puedes restringir a otros para que no modifiquen el locking o el file en sí, pero en ese punto, si tus desarrolladores están jugando con un file que obviamente está destinado a bloquearse, empezaría a golpearlos y piense en eliminar todo su acceso de escritura a ese repository.

Hay más información disponible en la input del manual y más documentation detallada .