Me pregunto si Mercurial por defecto convierte $ Id $ al equivalente de Subversion que es algo como esto: test.php 110 2009-04-28 05: 20: 41Z dordal $. ¿Alguien sabe?
Respuesta
No, no lo hará, pero puede activarlo.
https://web.archive.org/web/20121007024058/
https://www.mercurial-scm.org/wiki/KeywordPlan
por las que usted no lo necesita
expansión de palabras clave no es compatible con el núcleo de Mercurial porque es de utilidad limitada en un sistema moderno y es problemático desde el punto de vista del desempeño y la integridad binaria. Para la mayoría de los usos humanos, uno puede simplemente pedirle al sistema de control de revisiones. ¡Y para situaciones donde el sistema de control de revisión no está disponible, la etiqueta es muy probable que sea incorrecta!
Un uso común que queda es la integración automática de la información de versión en una compilación de software. Esto se logra con bastante facilidad y sin sustituciones de palabras clave haciendo algo como lo siguiente en su Makefile:
...
Emulación básico
Si eso no es suficiente para usted, es posible emular este comportamiento con una extensión.
...
Una extensión de ejemplo que proporciona $ Autor $ y $ $ Fecha de palabras clave se adjuntan (keyword.py)
Ver también KeywordExtension.
https://www.mercurial-scm.org/wiki/KeywordExtension
Palabra clave de extensión
Esta extensión se distribuye con Mercurial allo
general
Esta extensión ws la expansión de claves similares a RCS/CVS y definidas por el usuario en archivos de texto seguidos por Mercurial. La expansión tiene lugar en el directorio de trabajo y/o cuando se crea una distribución usando "hg archive".
Las palabras clave se expanden a los datos del conjunto de cambios pertenecientes al último cambio relativo al directorio primario de trabajo de cada archivo.
Si solo desea versionar su repositorio completo, no use esta extensión, pero deje que su sistema de compilación se encargue de ello. Algo a lo largo de las líneas de ...
,,,
Por razones de seguridad y de velocidad (evitación de palabras clave inadvertidamente expandido) se recomienda habilitar la extensión por cesión temporal sólo en repo/.hg/hgrc, no globalmente, y afinar los patrones del nombre de archivo [palabra clave] con mucho cuidado.
Gracias, debería haber intentado buscar mejor que prácticamente responde mi pregunta. – Darren
@Darren - Me alegra ayudar. Quería asegurarme de que tenías toda la historia sobre la expansión de palabras clave (la forma de Mercurial es no hacerlo, o de lo contrario, habilita lo menos posible). También sé que puede ser difícil determinar el término exacto para buscar en un paquete de software desconocido ("sustitución de palabras clave", "reemplazo de id", "expansión de palabras clave"), especialmente cuando uno de los términos es tan general como "palabra clave" o "id". –
Ahora entiendo por qué no hacerlo, entonces existe la posibilidad de que no lo haga y estoy bastante seguro de que tiene que ver con la manera en que funciona el control de versiones tanto con Mercurial como con Git sobre por qué es una mala idea, especialmente debido a repositorios locales y remotos. – Darren
Usted tiene una característica similar con Keyword Extension (distribuido con Mercurial)
Esta extensión permite la expansión de las claves RCS/CVS-y como usuario definidos en archivos de texto seguidas por Mercurial. La expansión tiene lugar en el directorio de trabajo y/o al crear una distribución usando "
hg archive
".Las palabras clave se expanden a los datos del conjunto de cambios pertenecientes al último cambio relativo al directorio primario de trabajo de cada archivo.
Por ejemplo:
Id = {file|basename},v {node|short} {date|utcdate} {author|user}
podría ampliarse como:
$Id: demo.txt,v 2ad3dcb8d811 2007/07/17 12:00:47 blacktrash $
Nota:
para la velocidad y seguridad razones (evitación de palabras clave inadvertidamente expandidas) que es recomendado:
- Para habilitar la extensión por cesión temporal sólo en
repo/.hg/hgrc
, no globalmente,- y para ajustar con precisión los patrones de nombres
[keyword]
con gran cuidado.
- 1. Problema de flujo de trabajo Mercurial a Mercurial a Subversion
- 2. Convirtiendo de Mercurial a Subversion
- 3. ¿Por qué hace esto lo que hace?
- 4. ¿Qué hace que Git sea mejor que Subversion para fusionarse?
- 5. Lo que hace __contains__ hacer, lo que se puede llamar a la función __contains__
- 6. Lo que lo hace un PaaS no SaaS - o ejemplos
- 7. Lo que hace <a href="#" class="view"> mean?
- 8. Cierre debido a lo que puede hacer o porque hace
- 9. lo que hace `super()` `en __new__`
- 10. ¿mysqldump --password realmente hace lo que dice?
- 11. Vea lo que hace el preprocesador
- 12. lo que hace "@" significa en C#
- 13. ¿Espejo un repositorio de Mercurial en Subversion?
- 14. consulta SQL, lo que está `SELECT * FROM .tables donde id =`
- 15. Cómo fusionar automáticamente 2 cabezales con mercurial
- 16. ¿Cómo lo hace AQTime?
- 17. Lo que hace que algo sea iterable en python
- 18. JavaScript/HTML - Alternar visibilidad (lo que automáticamente hace que un elemento div se oculte cuando se muestra otro)
- 19. ¿Divide el repositorio Subversion en múltiples repositorios Mercurial?
- 20. JPA: Invalidar ID generado automáticamente
- 21. Usando Mercurial localmente, solo con el servidor de Subversion
- 22. lo hace O (N) significa
- 23. $ _POST convertirá de utf-8 a ä ö ü etc.
- 24. ¿Dónde puedo leer lo que hace el compilador C#?
- 25. ¿Por qué añadir id = "ad_a" a un elemento HTML a veces lo hace invisible en Chrome y Firefox?
- 26. ¿Qué es lo primero que hace cuando instala Visual Studio?
- 27. HashMap dice que Key no existe aunque lo hace
- 28. Hackeado: ¿Alguien sabe lo que hace este código PHP?
- 29. Lo que hace Perl variable especial $ - [0] y $ + [0] significa
- 30. ¿Por qué Y hace lo mismo que yy?
Usar la conversión de palabras clave con un DVCS es una muy mala idea. Es una buena idea con svn y cvs porque es posible que diferentes archivos en su repo se actualicen a diferentes revisiones, pero en Mercurial o git todos los archivos están en el mismo punto, por lo que puede usar 'hg id' para obtener ese valor o en un script de compilación use algo como '$ (hg id - id)'. –