2011-06-22 6 views
6

¿Cómo hago para que la extensión de color mercurial funcione cuando se especifica un estilo (incluido el predeterminado) en la línea de comandos o en ~/.hgrc?Mercurial ignora la extensión de color cuando se especifica una plantilla de salida

Mi ~/.hgrc parece

[extensions] 
color= 
[color] 
log.changeset=yellow 

Cuando hago hg log las líneas del conjunto de cambios se resaltan en amarillo, como se espera, por ejemplo,

changeset: 399:c42d2627824f <----- THIS LINE IS IN YELLOW :-) 
user:  A User <[email protected]> 
date:  Tue Jun 21 11:07:17 2011 +0200 
summary:  add code to rm -rf/

Sin embargo, si lo hago hg log --style=default, la salida es idéntica, pero las líneas del conjunto de cambios ya no están resaltados.

Usted puede decir, "bueno, no especifique --style=default!"

Lamentablemente, este es un problema porque mi objetivo es modificar la plantilla predeterminada. Hice una copia de la plantilla, la llamé map-cmdline.default2 y si hago hg log --style=default2 o agregué style=default2 a mi ~/.hgrc, el resaltado de color está deshabilitado.

+2

Puede valer un [problema] (http://mercurial.selenic.com/bts/). –

Respuesta

4

Ha descubierto que Mercurial "engaña": hg log no utiliza el sistema de plantilla, la salida está codificada. El indicador --style activa el motor de plantillas más lento (pero personalizable).

Cambiar esto probablemente sería difícil, pero estoy de acuerdo con Oben en que deberías abrir un problema al respecto.

+1

Lástima. Gracias. Problema planteado: http://mercurial.selenic.com/bts/issue2866. – Mike

Cuestiones relacionadas