Guidedog Manual 0.2.0
Idioma
En esta página
Guidedog / Documentación 0.2.0

Publicar una generación completa

El lector nunca debe ver un sitio actualizado a medias. Es una propiedad de publicación, distinta del análisis y la renderización.

El invariante

Sea \(P\) el árbol publicado. Durante la preparación no cambia. El siguiente árbol \(Q\) está completo antes de decidir la confirmación. El diario identifica la salida y sus registros asociados.

La preparación puede fallar. Se abandona la generación incompleta. Una confirmación decidida puede interrumpirse. La siguiente construcción la completa o restaura a partir del diario, sin deducirlo del nombre del directorio temporal.

Preparar y persistir, guardar el diario, cambiar la salida, sustituir registros y retirar el diario.
Fig. 6 El diario persistente separa la preparación de la decisión de confirmar.

Por qué la caché está fuera de la salida

El intercambio de directorios mueve todo su contenido. Un diario interno se movería durante la operación que describe, perdiendo su ubicación estable cuando más se necesita. Guidedog guarda los registros fuera del árbol publicado. Por eso una salida personalizada usa una caché vecina.

Persistencia y visibilidad

Persistir el contenido de archivos no equivale a persistir los nombres de directorio. El algoritmo trata ambos antes de retirar el diario. Las plataformas intercambian directorios de forma distinta; el protocolo de recuperación lo contempla. Véanse lib/project/commit.odin y lib/project/publish.odin.

Esto protege la publicación del proyecto. No es una transacción distribuida con un proveedor externo. Copiar una construcción correcta al servidor es otra operación, responsabilidad de la herramienta de despliegue.