Conseguir que jj log hable del remoto

Parte 6 de 9.

Lo que me hizo confiar en jj log como herramienta de uso diario en lugar de como una curiosidad fue ver aparecer en él el estado del remoto sin ceremonia adicional. jj git fetch actualiza la vista que jj tiene de cada bookmark remoto, y la plantilla de log por defecto ya anota los commits con los bookmarks (locales, remotos, o ambos) que apuntan a ellos.

Leer los marcadores costó un momento de acostumbrarse. main main@origin en la misma línea significa que el bookmark local y el remoto coinciden en este momento. old-experiment@origin sin un old-experiment a secas significa que es un bookmark que nadie tiene en local, visible solo porque existe en el remoto. Un asterisco en cualquiera de los dos significa que han divergido.

Una decisión de configuración cambia de verdad lo que ves, no solo cómo se estiliza: git.auto-local-bookmark. Activada: cada bookmark remoto recién traído recibe automáticamente uno local que le corresponde, así que aparece en jj log como un bookmark local de primera clase de inmediato. Desactivada: se queda en la forma solo remota hasta que lo sigues explícitamente con jj bookmark track. Le veo sentido a cualquiera de los dos valores por defecto según la forma del equipo: un equipo pequeño en el que sigues la mayoría de las ramas se beneficia de la versión automática; un repo grande en el que se empujan cientos de ramas de vida corta se beneficia del opt-in deliberado y más ruidoso. Merece la pena comprobar qué valor por defecto usa tu jj en lugar de darlo por supuesto.

jj log -r 'remote_bookmarks()' resultó ser el revset más útil que he usado hasta ahora: una vista de “qué tiene el equipo empujado ahora mismo” que es completamente independiente del lío en el que esté metida mi propia copia de trabajo en ese momento.