SVN / PySVN: obtenga la ruta a los últimos files modificados

TL; DR Tener una url para un repository SVN, ¿cómo puedo sustraer todas las routes a los files que se han cambiado desde un número de revisión dado?

Larga historia: tengo un script que descarga algunos files de un repository SVN. Lo hace cada 'n' horas. Pero si solo cambio un file, no necesito volver a download todo de nuevo, solo ese file. Intenté verificar cada file con PySVN para ver si el número de revisión ha cambiado, pero lleva demasiado time (para una carpeta con 6 files, toma ~ 20 segundos). ¿Hay alguna forma de que pueda mejorar esto?

Estoy trabajando en Python con PySVN. He visto que pysvn.Client.log tiene el atributo 'changed_paths', pero parece que no sé cómo manejarlo: \ Este progtwig se ejecuta en Linux y Windows, por lo que la solución debe ser multiplataforma (si es posible) )

use pysvn.Client (). log () para encontrar todos los cambios. Por ejemplo:

all_logs = pysvn.Client().log( path, revision_start=pysvn.Revision( opt_revision_kind.head ), revision_end=pysvn.Revision( opt_revision_kind.number, last_revision ), discover_changed_paths=True ) 

Esto siempre devolverá al less un logging para la última revisión. Puede simplemente ignorar eso o usar last_revision + 1 y detectar el error de svn sobre la revisión faltante.

pysvn.Client (). update () representará la forma más inteligente de get cambios en su copy de trabajo.

Recuerde que puede consultar solo una parte de la operación completa mediante una combinación de seleccionar con qué carpeta comenzar y luego usar la function de profundidad para get solo la carpeta que necesita. Por ejemplo:

 pysvn.Client().checkout( URL, path, depth=pysvn.depth.files ) 

Entonces solo necesita usar update () para mantener actualizados los files.

Barry Scott, autor de pysvn.

El resumen me hace pensar que estás tratando de redevise una bicicleta. Simplemente finalice la compra y actualice una copy de trabajo en lugar de exportar los datos. Esa es la tarea de copyr el trabajo y el command de actualización.

Por cierto, será mejor que use los enlaces oficiales de SWIG Python en lugar de PySVN.