Sobre el proyecto

copia es una herramienta pura en Rust que proporciona tanto una biblioteca como una interfaz de usuario para la sincronización de archivos. Se utiliza como alternativa moderna y dependencia-free a rsync, implementando un transferido de delta basado en checksums rollantes y un motor de transferencia de hash BLAKE3 sin dependencias C o código inseguro. El herramienta se diseñó para la confiabilidad, utilizando como fuente única de verdad los cambios de archivos y resoluciones de conflicto basadas en hashes. Soporta tres capas de sincronización: L1 para la sincronización incremental de un solo lado (local o remoto a través de SSH), L2 para la sincronización bidireccional con resolución de conflictos seguros que preserva ambos versiones de archivos divergentes, y L3 para un modelo de hub-and-spoke donde varios clientes pueden push al centro de hub al mismo tiempo. Todos los escritos son atomicos, y el proyecto incluye invariants de seguridad probadas mediante métodos de verificación formal como Kani y Lean 4 para garantizar que datos no sean perdidos y se manejen actualizaciones concurrentes de manera segura.