Pregunta

He estado conduciendo yo loco en los últimos días más de éste. Acabamos de terminar de configurar un servidor Hudson continua-Integración. Para que se ejecute un script de compilación de todos y cada confirmación para validar la confirmación. La cuestión es que valida que todos los archivos en el repositorio tienen tanto las propiedades svn:keywords = "Id" y svn:eol-style = "LF" establecidos en todos los archivos .php, que normalmente sería grande (la última vez que hice esto, utiliza Eclipse y Tortoise SVN, que ambos tienen SVN :: funcionalidad complemento).

Pero el problema es que he crecido bastante acostumbrado a Netbeans. Y Netbeans no tiene ninguna función svn add que puedo encontrar (añadir archivos automáticamente al comprometerse). El problema es que no puedo añadir las propiedades hasta que se agreguen los archivos. Si cometo sin añadir las propiedades, la construcción fallará. Así termino fallando la acumulación cada dos cometen porque necesito tomar 5 pasos (cometer, propset recursiva, comprometerse, reconocer acumulación fallado, eliminar la acumulación fallado), para hacer algo que normalmente sólo tienen 2 (propset, comprometerse).

realmente no quiero volver a Eclipse en este punto, pero cuando me toma 20 minutos para cometer porque tengo que hacer todo lo que 4 veces, va a envejecer rápidamente ... ¿Hay alguna solución que me falta (corto de eliminación de la marca propiedad, que derrotará el punto, ya que quiero esas propiedades determinan todos modos)? O soy SOL? ...

¿Fue útil?

Solución

Subversion tiene un archivo ~/.subversion/config que le permite personalizar una serie de situaciones diferentes, entre los cuales es auto-props , propiedades que se establecen automáticamente en los archivos en función de su extensión:

Por lo tanto, en el supuesto de que los aspectos de Netbeans archivo, se puede decir SVN para establecer automáticamente esas propiedades cambiando la sección [auto-props] incluir *.php = svn:eol-style=LF;svn:keywords=Id

Por ejemplo:

[auto-props]
# here's yours
*.php = svn:eol-style=LF;svn:keywords=Id
# and one with multiple keywords
*.c = svn:eol-style=native;svn:keywords=Author Date Rev Id HeadURL
# and one with a mime-type
*.png = svn:mime-type=image/png

Actualizar

Netbeans 6.9 parece leer en el archivo ~/.subversion/config en inicio y hace cambios no recogida sin un reinicio. Después de reiniciar Netbeans, que recoge correctamente mis seleccionados autoprops y las aplica a cada archivo recién creado.

ACTUALIZACIÓN 2 :

Netbeans parece leer a través tanto de los archivos de configuración de la subversión globales y personales (entre muchos otros archivos de subversión) cuando se inicia. Aquí está una parte relevante tal como la ve strace:

stat("/home/kibab/.subversion/config", {st_mode=S_IFREG|0644, st_size=4576, ...}) = 0
open("/home/kibab/.subversion/config", O_RDONLY) = 28
open("/etc/subversion/config", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/home/kibab/.netbeans/6.9/config/svn/config/config", {st_mode=S_IFREG|0644, st_size=825, ...}) = 0
stat("/home/kibab/.netbeans/6.9/config/svn/config", {st_mode=S_IFDIR|0755, st_size=61, ...}) = 0
open("/home/kibab/.netbeans/6.9/config/svn/config/config", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 28

Un examen más detallado parece dar a entender que una vez que se lee a través de los archivos de configuración, entonces se escribe una copia (usando O_TRUNC) del archivo de configuración que se almacena en ~/.netbeans/6.9/config/svn/config/config (al menos en Linux).

Con base en esto, supongo que Netbeans está tratando de ser lo suficientemente inteligente como para usar cualquier configuración de la subversión que ha establecido en los archivos de configuración, a la vez global y personal.

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