1.8.1: fase 2 de la auditoría

- Plan.marcar_colisiones: dos movimientos que acabarían en el mismo archivo se
  detectan antes de aplicar, se dejan sin marcar y se explican.
- agregar(): los grupos de archivos también comprueban si el destino ya tiene
  un archivo con ese nombre (40 primeros, para no saturar la red).
- actualizar_inventario: las filas de carpetas se reescriben con su ruta nueva
  en vez de borrarse, y se conserva la marca de basura/proxy heredada, para que
  aplicar por pasos no deje los siguientes con 0 archivos y sin fecha.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Este commit está contenido en:
Labstream
2026-09-16 10:49:36 -05:00
padre b977fe1b3e
commit b492881123
Se han modificado 3 ficheros con 100 adiciones y 16 borrados

Ver fichero

@@ -332,6 +332,18 @@ diálogo en un PowerShell aparte para no bloquear el servidor y devuelve la ruta
- Interfaz: los botones ya no vuelven a su etiqueta vieja pisando lo que la acción acaba de calcular, y las
rutas de Windows se recortan bien (soltar un archivo registraba el archivo como carpeta de cliente).
1.8.1, fase 2 de la auditoría:
- **Dos movimientos que acabarían en el mismo archivo se detectan antes de aplicar** (`Plan.marcar_colisiones`).
Caso real: dos carpetas de grabación genéricas del mismo mes van las dos a `00_Grabacion/SONY` y las dos
traen un `C0001.MP4`. Ahora salen sin marcar, en rojo, con un aviso que nombra las dos carpetas y el archivo
que choca. También se comprueba si el destino ya tiene un archivo con ese nombre en el disco (antes solo se
miraba en las filas de carpeta, no en los grupos de archivos); se revisan los 40 primeros de cada grupo para
no llenar la red de consultas.
- **Aplicar por pasos ya no degrada el inventario.** `actualizar_inventario` reescribe las filas de `carpetas`
con su ruta nueva en vez de borrarlas, y conserva la marca de basura/proxy heredada. Antes, como la interfaz
recalcula el plan sin volver a escanear, los pasos siguientes salían con «0 archivos · 0 B» y sin fecha.
Comprobado: tras aplicar el paso de fechas, la fila del paso 3 conserva sus 3 archivos y su peso.
Probado el 9 sep 2026 sobre una copia de ensayo: plan → aplicar → deshacer → volver a aplicar deja el árbol
exacto; conversión ffmpeg verificada y reemplazo con original a `_Para borrar`. El puente de Resolve conectó
con Resolve Studio 21.1 pero no pudo abrir proyecto porque Resolve estaba en el Gestor de proyectos: