Intenté utilizar la respuesta aceptada, pero tenía un gran repositorio y quería exportar un pequeño directorio, y no podía permitir el volcado de todo el repositorio.
Por lo tanto, solo exporté las revisiones en las que mi directorio cambió (Esto puede no funcionar si el directorio que desea exportar tiene referencias a otros lugares en su repositorio).
svn log URL_to_docs | awk '/^r/{gsub(/^r/,"",$1);print $1}' > revisions.txt
#tac for revisions in reverse (oldest revision first)
tac revisions.txt | while read line; do svnadmin dump /svn/old_repo -r$line >> ./docs_revisions.dump ; done
#You don't have to filter if you commited only files in your directory docs in your exported revisions
svndumpfilter include path/to/docs --drop-empty-revs --renumber-revs --preserve-revprops <./docs_revisions.dump> ./docs_only.dump
svnadmin load /svn/new_repos < ./docs_only.dump
Debe reemplazar la URL de su cesión temporal (URL_to_docs
), ubicación en el servidor (/svn/old_repo
) y la ruta de acceso a documentos en el repositorio (path/to/docs
)
Puede editar fácilmente su docs_only.dump
si desea cambiar la ubicación de su directorio doc en su nuevo repositorio.
Buen ejemplo. Tenga en cuenta que, como se indica en la documentación a la que me he vinculado, esta solución volverá a enumerar todas las revisiones para que no haya "vacíos". Algo a tener en cuenta si hace referencia a las revisiones de documentos en cualquier otro lugar. –
Sugerí la eliminación de las revisiones vacías para evitar agregar un montón de revisiones vacías al repositorio de destino, lo que probablemente confundiría a cualquiera que no supiera sobre la carga. Dado que --preserve-revprops mantendrá los mensajes de confirmación en lugar de usar el predeterminado de carga. – Samuel
Gracias, tengo acceso al repositorio, así que daré una oportunidad. – leftend