subversion - Forma correcta de agregar svn: ejecutable
svn windows (2)
Tengo algunos archivos que han sido ejecutables antes de que svn los agregue. Tienen el conjunto de propiedades svn: ejecutable. Ahora, algunos otros archivos se registraron sin el bit ejecutable no lo tienen, y quiero establecer la propiedad svn: ejecutable:
$ svn propset svn:executable on *.cgi
Luego verifico el estado e incluso los archivos con el svn: ejecutable han sido modificados:
$ svn diff
Property changes on: a.cgi
___________________________________________________________________
Modified: svn:executable
-
+ *
Property changes on: b.cgi
___________________________________________________________________
Added: svn:executable
+ *
a.cgi no debe ser modificado. Quiero agregar el bit svn: ejecutable para que se establezca de la misma manera que en los otros archivos, pero no puede encontrar el comando para hacerlo.
Aquí es cómo configuro la propiedad ejecutable en todos los archivos * .py de mi proyecto que tienen el bit de ejecución establecido en ellos. Ejecuto esto desde el directorio de nivel superior
for f in `find ./ -name ''*.py''`; do echo $f; if [ -x $f ]; then echo $f ''is executable setting svn:executable''; svn propset svn:executable on $f; else echo $f ''is not executable''; fi; done;
Tiene razón al usar los comandos de edición de propiedad svn. La propiedad es svn: ejecutable.
Para agregar el "bit ejecutable" en svn
svn propset svn:executable on <list of files>
Para eliminar el "bit ejecutable" en svn
svn propdel svn:executable <list of files>
La documentación de SVN para esto se encuentra aquí.
En cuanto a no modificar los ejecutables, no está modificando el ejecutable (una suma de verificación lo verificará), pero está modificando el repositorio SVN. Recuerde que SVN revisa los sistemas de archivos, no solo los archivos; entonces, una modificación de los bits de permiso aumentará el número de revisión de SVN, incluso si es solo una modificación de las propiedades de un archivo (y no una modificación del archivo en sí).