SVN: ¿Puede eliminar directorios de un proceso de pago local solamente (no del repositorio)?

Supongamos que tiene un directorio bajo control de subversión, que contiene algunos archivos y toneladas de subdirectorios, como ese:

file1.txt
file2.txt
file3.txt
dir1/
dir2/
dir3/
dir4/
:
dirXX/

Ahora necesitas los archivos y algunos de los directorios, pero no todos. Esto se puede hacer con SVN. Solo haz el checkout no recursivo:

svn checkout -N <URL>

Esto comprueba sólo el primer directorio y los archivos en el interior. No se incluyen subdirectorios. Incluso si entras en el directorio de pago y ejecutas un "svn up", solo actualizará los archivos extraídos anteriormente, no agregará los directorios. Ahora puede agregar selectivamente los directorios que necesita al actualizarlos explícitamente. Por ejemplo, si solo necesita dir2 y dir4, puede ingresar al directorio de pago y ejecutar

svn up dir2
svn up dir4

Si ejecuta un genérico "svn up"en el futuro, solo actualizará los archivos y esos dos directorios, no agregará ninguno de los otros directorios.

Ahora el problema: ¿Qué pasa si en algún momento decido que ya no necesito dir2? ¿Como me deshago de esto? Parece que no hay forma de hacerlo, aparte de eliminar todo el proceso de pago y volver a empezar desde cero.

Cuando acaba de eliminar dir2, el siguiente "svn up"lo traerá de vuelta, como"svn status"por supuesto, muestra que falta ahora ("! "delante de su nombre). Ejecutando un"svn remove"lo eliminará, por supuesto, pero en la próxima confirmación también lo eliminará del repositorio, lo que no debe suceder.

Incluso la nueva función de directorio disperso ("pago superficial") de SVN 1.5 no sirve para esto aquí:

La implementación de las comprobaciones superficiales de Subversion 1.5 es buena, pero no admite un par de comportamientos interesantes. En primer lugar, no puede quitar el telescopio de un elemento de copia de trabajo. Ejecutar svn update --set-depth empty en una copia de trabajo de profundidad infinita no tendrá el efecto de descartar todo excepto el directorio superior, simplemente se producirá un error.
- http://svnbook.red-bean.com/en/1.5/svn.advanced.sparsedirs.html

¿Es esto imposible con SVN? ¿Alguna vez se le ocurrió un trabajo inteligente para eso?

Simplemente creando el directorio de pago (sin SVN) y luego los directorios individuales desde el repositorio directamente como subdirectorios a este directorio funcionará para los directorios: ahora cada directorio es un checkout propio, se puede actualizar y ya no es necesario. , puedes borrarlo. Sin embargo, ¿cómo obtengo los archivos (por ejemplo, file1.txt)? SVN no permite desproteger archivos individuales, solo puede desproteger directorios completos.

Respuestas a la pregunta(5)

Su respuesta a la pregunta