Rustty v2.13.0
Añadido
- La línea de comandos copia carpetas enteras.
rustty -c servidor -r --get /var/www/sitio ./copias/baja la carpeta con todo lo que cuelga de ella, y--put -rla sube. Sin-r, una carpeta es un error que lo dice, como enscp: copiar un árbol entero nunca ocurre por accidente. Dónde acaba la copia sigue la regla decp -r: sobre una carpeta que ya existe, el árbol cuelga de ella con su nombre; sobre un destino que no existe, el destino es la copia. Los enlaces simbólicos no se siguen ni se copian —permitirían salirse del árbol pedido o entrar en un bucle— y el resumen dice cuántos se han omitido. Un fichero que no se puede leer no detiene el resto: su error sale por la salida de errores, la copia sigue y el comando termina con1. El resumen, también en--json, cuenta ficheros, carpetas, bytes, omitidos y errores. - Resultados en streaming con
--ndjson. Al ejecutar en varios servidores a la vez,--jsonespera a que acabe el último para imprimir un array; con--ndjsoncada servidor sale en cuanto termina, como un objeto JSON en una sola línea, así que una tubería conjqo unwhile readva procesando los rápidos sin esperar al lento. También vale con un solo servidor y con--get/--put.
Corregido
- Los acentos y los caracteres de caja ya no se rompen en salidas largas. En cualquier sesión —SSH, tmux o consola local—, una «ñ», una vocal acentuada o las líneas de los recuadros de
htopomcpodían aparecer como��de vez en cuando. La salida llega troceada en bloques y cada bloque se interpretaba por separado: cuando un carácter de varios bytes caía justo en la frontera entre dos, se perdía en los dos lados. Cuanto más larga la salida y más texto en castellano, más a menudo pasaba. - Una consola local que termina deja su aviso después de su salida, no encima. El «Consola finalizada» podía pintarse antes que las últimas líneas del comando que acababa de terminar, porque el aviso y la salida viajan por caminos distintos. Ahora el aviso espera a que la salida haya llegado entera.
- Las consolas locales ya no dejan procesos sueltos. Un shell que ignorase la señal de cierre quedaba como proceso «zombi» hasta salir de Rustty, uno por cada consola cerrada. Y si la interfaz se recargaba con consolas o conexiones abiertas, seguían vivas sin ninguna pestaña que las mostrara ni forma de cerrarlas —túneles incluidos—: ahora la interfaz, al arrancar, cierra lo que hubiera quedado de la anterior. Los escritorios remotos y demás programas externos no se tocan: son ventanas que sigues viendo y cierras tú.
Cambiado
- La documentación de la línea de comandos y el README recogen todo lo que la CLI hace desde la 2.10: varios servidores a la vez, scripts, copias por SFTP e importación.
Registro completo: CHANGELOG.md