¿Hay alguna manera de habilitar svn: palabras clave de manera predeterminada para que esta propiedad no tenga que activarse para cada palabra clave cada vez que se agrega un nuevo archivo fuente?Cómo activar svn: palabras clave para habilitar?
Respuesta
Como se mencionó anteriormente, se puede utilizar auto-propiedades para hacer esto, pero debe hacerse una gran pregunta:
- ¿Por qué desea utilizar las palabras clave?
Cuando se está haciendo el desarrollo, puede utilizar simplemente las diversas svn
comandos para obtener alguna información que se almacena en las palabras clave, por lo que esto no es necesario.
Algunas personas afirman que las palabras clave son necesarias una vez que el software se encuentra en el sitio del cliente, pero existen mejores mecanismos para validar qué revisión de su software está utilizando. Por ejemplo, durante la compilación, puede crear un archivo con un ID de revisión más significativo (tal vez el número de versión y la fecha de compilación) y mostrarlo como una especie de "sobre caja". La identificación es más significativa.
También sé que no puedo confiar en las palabras clave que figuran en los scripts de shell que pueden encontrarse en el sitio de un cliente. El script de shell podría decir un número de revisión, pero el script de shell podría haberse editado.
Si realmente lo necesita, y es algo que debe aplicarse en su sitio, necesitará un desencadenante precompromiso para fallar cuando la propiedad de la palabra clave no se encuentre en un archivo. Las propiedades automáticas solo se pueden establecer para un cliente. Eso significa que debes asegurarte de que cada uno de tus desarrolladores tenga este conjunto. Cada vez que obtienen una computadora nueva, tendrás que verificarla nuevamente.
Tampoco garantiza que la propiedad esté en el archivo. Los archivos antiguos en el repositorio no se agregarán mágicamente, incluso si están editados. (Las propiedades automáticas solo se agregan cuando el archivo se agrega al repositorio). No hay nada que evite que el desarrollador lo elimine tampoco. O editando sus auto-propiedades en su configuración.
Debe utilizar un desencadenador precompromiso para garantizar que la propiedad svn: keywords se encuentre en todos y cada uno de los archivos donde sea necesario y que esté configurado correctamente. El gancho precompromiso simplemente se negará a realizar una transacción en la que esta propiedad no esté establecida. El desarrollador se verá obligado a agregar la propiedad. Después de algunas quejas, los desarrolladores configurarán su cliente de Subversion para usar auto-propiedades y mantenerlo ellos mismos.
Solo tengo un pre-commit trigger que puede hacer cumplir esto.El disparador está escrito en Perl, pero no requiere más que módulos estándar, por lo que es fácil de configurar. Puede configurarlo para decir qué archivos requieren la palabra clave y en qué se debe configurar. Si se está confirmando un archivo y no tiene el atributo svn: keywords establecido en el valor correcto, la confirmación fallará, y el mensaje de error explicará por qué falló la confirmación y qué debe hacer el desarrollador.
Sí, con propiedades de auto Subversion: http://www.dcepler.net/post.cfm/subversion-auto-properties
Cada entrada de la sección [auto-props]
es un pegote de archivo seguido de las propiedades de Subversion para aplicar automáticamente cada vez que un archivo que coincida con el pegote es añade. Por ejemplo, si desea que todos los archivos de CPP tienen un cierto conjunto de propiedades por defecto, a continuación, siga las instrucciones que aparecen en http://www.dcepler.net/post.cfm/subversion-auto-properties y modificar la siguiente línea de acuerdo a sus preferencias:
*.cpp = svn:eol-style=native; svn:keywords="Author Date Id Rev URL"; svn:mime-type=text/plain
Tenga en cuenta que si se ha añadido archivos con svn add
y posteriormente habilitó las propiedades automáticas, las propiedades automáticas no se aplicarán a los archivos agregados. Las propiedades automáticas solo se aplican a los archivos que se agregan después de habilitar propiedades automáticas.
de nuevas ventanas del sistema operativo, el archivo de configuración podría estar en C: \ Users \ _user_ \ AppData \ Roaming \ Subversion – sartoris
Almacenamiento de palabras clave de SVN en nuestros programas PL/SQL (y scripts SQL) ha agregado un valor significativo a los procesos de desarrollo y la integridad del sistema. Cuando se envía un cambio a la producción, la palabra clave Revisión lo rastrea y administra. Antes de implementar esto, el proceso de mover archivos y asegurarse de que se estaba implementando el archivo correcto era muy propenso a errores. Además, podemos consultar la base de datos para ver los datos de la versión (ver SQL a continuación).
--
--------- Begin Version Control Data----------------------------------------
-- $LastChangedDate: 2014-06-27 13:45:09 -0500 (Fri, 27 Jun 2014) $
-- $Revision: 1750 $
-- $LastChangedBy: kilarvk $
-- $URL: svn://jdcsubv01/SQL/JDC/Trunk/JDC_UTIL.pks $
--------- End Version Control Data -----------------------------------------
--
--select SVN Keyword Info
SELECT OWNER,
NAME,
TYPE,
SUBSTR(TEXT,INSTR(TEXT,'$')-1) AS KEYWORD
FROM ALL_SOURCE
WHERE OWNER = UPPER(NVL('&owner',OWNER))
AND NAME = UPPER(NVL('&&pgm_name',NAME))
AND (text LIKE '%$Revision%'
OR TEXT LIKE '%$URL%'
OR TEXT LIKE '%$Id%'
OR TEXT LIKE '%$LastChanged%')
Ejemplo:
JDCSCHEMA API_TESTER_AGNT PROCEDURE $LastChangedDate:
2014-04-08 15:33:38 -0500 (Tue, 08 Apr 2014) $
JDCSCHEMA API_TESTER_AGNT PROCEDURE $Revision: 1445 $
JDCSCHEMA API_TESTER_AGNT PROCEDURE $LastChangedBy: vamsisx $
JDCSCHEMA API_TESTER_AGNT PROCEDURE $URL:svn://jdcsubv01/SQL/JDC/Trunk/API_TESTER_AGNT.prc $
acuerdo - Creo que los desarrolladores Quienes compilan ejecutables a partir de estructuras de directorios a veces se olvidan de este tipo de escenario, donde puede haber parches incrementales, los entornos pueden haber sido copiados de la producción en diferentes momentos, y así sucesivamente, y es enormemente útil poder ver la rama real y información de revisión de un vistazo. Sí, debería existir un proceso de implementación robusto, sí, siempre es posible que el código se haya editado después de la implementación (aunque seguramente no lo hará), pero no hay nada como tener información generada automáticamente allí mismo en la fuente. –
- 1. Cómo usar palabras clave personalizadas en SVN
- 2. Tratando con la expansión de palabras clave SVN con git-svn
- 3. Agregue automáticamente propiedades de palabras clave svn para archivos nuevos (del lado del servidor)
- 4. javaScript palabras clave reservadas
- 5. C# Linq ¿Palabras clave?
- 6. Java Palabras clave como
- 7. matriz de búsqueda ruby para palabras clave
- 8. ¿Activar manualmente la clave jquery?
- 9. ¿palabras clave SQL estándar?
- 10. ¿Cómo obtener palabras clave meta usando Nokogiri?
- 11. cómo escapar palabras clave en C#?
- 12. ¿Cómo puedo activar IPCOMP para un socket?
- 13. C# - Desactivar palabras clave dinámicas
- 14. Modelos con palabras clave reservadas
- 15. Palabras clave reservadas - ¿Ocultas? JNLP
- 16. Palabras clave "nativas" y "literales"
- 17. Habilitar, pero no activar, un Visor obligatorio usando jQuery/javascript
- 18. argumentos de palabras clave Clojure
- 19. PHP - y/o palabras clave
- 20. Algoritmos para detectar frases y palabras clave del texto
- 21. Habilitar clave externa con Verificar datos existentes
- 22. Extensión Mercurial de palabras clave para expandir en cada confirmación
- 23. Expresión regular para excluir el conjunto de palabras clave
- 24. ¿Necesito palabras clave ARC para propiedades que no sintetizo?
- 25. Lucene.Net Resultado de búsqueda para resaltar palabras clave de búsqueda
- 26. Configurar Doxygen para ocultar ciertos nombres o palabras clave
- 27. ¿Cuántas palabras clave son ideales para la etiqueta META keywords?
- 28. ¿Cómo deshabilitar/habilitar la clave de retorno en un UITextField?
- 29. LISP: parámetros de palabras clave, suministrado-p
- 30. Detección de palabras clave en Speech
1 Muy buen punto –