Svnadmin load from dumpfile causa "error de archivo no encontrado". Ayuda?
Dado:
Repository_1-source
Repository_2-destination
He creado un archivo de volcado de Repository_1 / Folder1 usando la combinación de svnadmin y svndumpfilter
Al cargar desde el archivo de volcado desde Repository_1 / Folder1 en Repository_2 / Trunk todo está bien PERO
Al cargar desde Repository_1 / Folder1 / Sub-folder (se creó otro volcado para esto) en Repository_2 / trunk obtengo el siguiente error:
svnadmin: File not found: transaction '267-89', path 'trunk/Folder1/Sub-folder'
¿Alguien puede explicarlo?
5 answers
Resulta que la estructura(carpetas vacías) en destino necesita ser pre-creada. Tan, Si quieres hacer esto:
Al cargar desde Repository_1 / Folder1 / Sub-folder (se creó otro volcado para esto) en Repository_2 / trunk
Necesita crear esta estructura en svn
Repository_2 / trunk / Folder1
Nota: solo necesita crear padres, no la carpeta en sí, así que NO CREE Repository_2 / trunk / Folder1 / Sub-folder
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-02 17:06:50
Obtendrá este error si alguien copió algo de trunk/Folder1 a trunk/Folder1/Subcarpeta. dado que solo ha incluido la subcarpeta trunk/Folder1/en su volcado, ya no puede encontrar los archivos requeridos de trunk/Folder1 y se detiene con este error.
Para resolver esto tendrá que asegurarse de incluir todo en el volcado que ha sido la fuente de una copia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-01 22:17:06
Acabo de experimentar este error que rastreé a una actualización reciente del servidor y un ciclo svnadmin dump/load
. El problema era que había configurado el repositorio en un directorio diferente al que se creó en.
En la máquina antigua, estaba usando inetd.conf
para ejecutar svnserve
:
svnserve -r /var/svn/main
Y el repositorio estaba en / var/svn / main
Sin embargo en la nueva máquina tenía inetd.conf
apuntando a /var/svn
:
svnserve -r /var/svn
Ya tenía un checkout desde el servidor antiguo, así que cuando intenté confirmar la ruta de destino no existía porque accidentalmente agregué otro componente a la URL, por lo que svn://host/source/trunk
se convirtió en svn://host/main/source/trunk
.
Podría haberlo arreglado moviendo los directorios, pero elegí reescribir la URL de la copia de trabajo usando svn switch --relocate
.
Nota: un diagnóstico rápido para ver si este es el problema es cambiar a un directorio en su copia de trabajo, escriba svn info
para obtener la URL del repositorio y luego escriba svn ls <myUrl>
. Si esto da un error No repository found
entonces sabes que esto es causa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-10-28 21:13:37
Como se indica en este hilo, svnrdump
funciona de manera diferente a svndump
.
svndump
+ svndumpfilter
:
- Vuelca todo el historial del repositorio, luego filtra las cosas que desea. Esto lleva mucho tiempo en repositorios grandes, incluso si solo estás agarrando un pequeño subárbol.
- Produce un archivo de descarga que probablemente está roto de varias maneras, como crear archivos en directorios que no existen o copiar archivos de rutas que no existen existir.
svnrdump
:
- Produce un archivo de volcado autoconsistente.
- Requiere un subpath si desea hacer el equivalente de
svndumpfilter include
. Por ejemplo,svnrdump https://server.example.com/svn/repo/branches/1.4
capturaría todas las revisiones que afectan a /branches/1.4. - Puede requerir un
| svndumpfilter include / --drop-all-empty-revs --renumber-revs
adicional.
En pocas palabras: svnrdump
probablemente funcionará mejor.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-03 23:03:41
La carga del volcado falla porque trunk/Folder1
la creación fue filtrada por svndumpfilter. De acuerdo con esta entrada de blog , estos pasos son necesarios en el volcado:
Puede crear trunk / Folder1 en el volcado, editando el propio volcado y añadiendo a la primera revisión el siguiente bloque:
Node-path: trunk/Folder1
Node-action: add
Node-kind: dir
Prop-content-length: 10
Content-length: 10
PROPS-END
Este bloque debe insertarse en los bloques props de la primera revisión.
Entonces el volcado se puede cargar con svnadmin.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-07 13:36:01