¿Por qué aparece este mensaje de error?No se puede determinar la información SVN en sentido ascendente desde el historial HEAD
Respuesta
(Realizado "cuestión" de Chad como respuesta, el formato fijo y errores tipográficos.)
Hay un par de causas para este mensaje de error.
El primero, siendo el más común. Tienes dos historias disjuntas en tu repositorio de git: la historia que creaste en git, y el historial desde el repositorio de svn remoto.
Para arreglar esto, necesitas hacer que tu repositorio git y el repositorio svn compartan un antecesor común para que git pueda calcular qué commits ha cambiado qué.
La siguiente Article, discute cómo solucionar el problema:
La segunda posible causa del problema es si usted tiene una primera versión de Git (posibles, ventanas paquete msysGit) y que acaba de crear un nuevo git repositorio que se comunica con un repositorio svn remoto.
Por ejemplo:
git svn init svn://svn.xxx.xxx/xxx/trunk
git svn fetch -r BASE:10
o
git clone svn://svn.xxx.xxx/xxx/trunk // Adds all the files in the revision...
y se obtiene el mensaje de error de seguimiento, cuando se utilizan los siguientes comandos.
git svn info
No se puede determinar la información de SVN aguas arriba del árbol de trabajo o
git svn rebase
no puede determinar la información de SVN aguas arriba de trabajo historia árbol o
git svn dcommit
No se puede determinar la información de SVN aguas arriba de la historia CABEZA
Si recibe los mensajes de error anteriores, f El primer paso es verificar tu versión de git. Si está ejecutando una versión anterior de git < = 1.6.3.3. * Que estaba en mi caso con (msysGit), entonces la forma más fácil de solucionar el problema es actualizar a una versión más nueva de git como 1.6.4. *.
El siguiente Article analiza el problema con más detalle.
Gracias por la edición bstpierre – Chad
Gracias por el enlace al artículo, que me permitió hacer un cambio de hacer un repositorio de svn diferente y ahora estoy de vuelta en el negocio! –
Para el primer caso común, las instrucciones en el artículo están desactualizadas. El póster aquí tiene instrucciones actualizadas para los principiantes de git http://stackoverflow.com/questions/457694/how-to-commit-a-git-repo-to-an-empty-repo-svn-server/981765#981765 – James
recibí este mensaje debido a la clonación del repositorio svn con la opción --no-metadata
. Quizás ese también sea el caso de Tu problema.
Al clonarlo sin esa opción todo está bien.
La opción --no-metadata
está destinada a clonar un repositorio SVN cuando el nuevo clon git
se convierta en la fuente canónica en el futuro. Carece de la capacidad de volver a comprometerse con el SVN en sentido ascendente, porque no tiene forma de seguir las diferencias entre el clon git y el SVN en sentido ascendente.
Esto es lo que hice. –
Tengo este mensaje después de que incorrectamente añadió el parámetro -s
/--stdlayout
al comando git svn clone
de un acuerdo de recompra de Subversion que hizo no tienen el "diseño de Subversion estándar" de trunk
, tags
, y branches
rutas relativas.
(Los repos de Subversion que suelo clonar tienen las rutas relativas estándar, así que cuando cloné un repositorio de Subversion que no los tenía usando mi comando habitual git svn clone
, recibí este mensaje críptico. El mensaje es 100% correcto, pero casi inútil al 100% cuando intenta averiguar cuál es el problema.)
Me encontré con este problema porque había agregado/trunk a la url svn mientras hacía 'git svn clone' con la opción' -s'. Entonces, aunque no es exactamente lo mismo que tu situación, tu comentario me ayudó a descubrir mi error. ¡Gracias! – jeroen
Otra causa de este problema es una opción incorrecta svn-remote.svn.rewriteRoot
(consulte this answer para obtener instrucciones sobre cómo usar esto).
La línea git-svn-id
en sus confirmaciones importadas de Subversion tiene que coincidir con la URL rewriteRoot
si está configurada.
¡El simple svn URL switcheroo de la respuesta enlazada aquí funcionó! – lkraav
En mi caso, la cabeza del repositorio SVN deberían haberse adaptado a la cabeza desde el repositorio git. This debería resolver el problema:
git update-ref refs/remotes/git-svn refs/remotes/origin/master
Esto no solucionó mi problema. –
Esto solucionó mi problema. –
Tengo este mensaje porque he usado un nombre de dominio completo para el comando git svn init
pero el preexistente integración git-svn estaba usando sólo el nombre de host.
E.g. grep git-svn-id
mostraron:
git-svn-id: svn://host/repo/...
pero lo hice: (. Tenemos una máquina que se sincroniza regularmente un repositorio git con SVN, a continuación, todos los demás tienen git config --add remote.origin.fetch refs/remotes/*:refs/remotes/*
a buscar por el SVN ramas sincronizados)
git svn init -Ttrunk svn://host.domain.com/repo
también puede obtener este error, cuando se tiene checkout recién creado repositorio SVN.
He resuelto este por
- En primer lugar hacer una inicial cometen a través de comandos svn
- Entonces clonar el repositorio usando el comando git svn.
conseguido mismo problema, aquí está la solución basada en http://eikke.com/importing-a-git-tree-into-a-subversion-repository/ artículo:
$ git svn init http://server.com/svn/project/trunk/prototypes/proto1/
$ git svn fetch
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: '/svn/!svn/bc/100/dcom/trunk/prototypes/ws' path not found
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
r147367 = 37c9910f794cb9cff7ca0d5d2eb26e1f0dabbc4d (refs/remotes/git-svn)
$ svn log http://server.com/svn/project/trunk/prototypes/proto1/
------------------------------------------------------------------------
r147367 | user | 2014-01-16 18:02:43 +0100 (Thu, 16 Jan 2014) | 1 line
proto1 home
------------------------------------------------------------------------
$ git log --pretty=oneline master | tail -n1
71ceab2f4776089ddbc882b8636aacec1ba5e832 Creating template
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #1
$ git show-ref git-svn
37c9910f794cb9cff7ca0d5d2eb26e1f0dabbc4d refs/remotes/git-svn
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ #2
$ echo "71ceab2f4776089ddbc882b8636aacec1ba5e832 37c9910f794cb9cff7ca0d5d2eb26e1f0dabbc4d" >> .git/info/grafts
$ git svn dcommit
Committing to http://server.com/svn/project/trunk/prototypes/proto1 ...
A README.md
A pom.xml
A src/main/java/.gitkeep
A src/main/resources/.gitkeep
A src/main/webapp/WEB-INF/web.xml
A src/main/webapp/index.html
A webapps/.gitkeep
Committed r147419
A README.md
A pom.xml
A src/main/java/.gitkeep
A src/main/resources/.gitkeep
A src/main/webapp/WEB-INF/web.xml
A src/main/webapp/index.html
A webapps/.gitkeep
r147419 = 6a8bda7262739306d0a6e17eaad2802737dedc35 (refs/remotes/git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
Unstaged changes after reset:
M pom.xml
M src/main/webapp/index.html
A .gitignore
Committed r147420
M pom.xml
M src/main/webapp/index.html
A .gitignore
r147420 = 749b5acec55c341672bca08d07de8c336b5a4701 (refs/remotes/git-svn)
No changes between current HEAD and refs/remotes/git-svn
Resetting to the latest refs/remotes/git-svn
...etc...
Otra posible causa: Si usted tiene un conjunto de configuración SVN-remote..rewriteUUID, git-svn puede tener problemas para localizar el metadatos correctos para el repositorio. Por ejemplo, es posible que tenga algo como esto (véase la página del manual git-svn para una discusión de por qué usted quiere hacer esto):
[svn-remote "svn"]
url = svn://read-write.test.org
fetch = trunk/project:refs/remotes/trunk
rewriteRoot = http://read-only.test.org/svn
rewriteUUID = 1234-abcd
... donde 1234-abcd es el UUID de la lectura solo espejo Cuando 'git svn ir', que podría terminar con este archivo:
.git/svn/refs/remotes/trunk/.rev_map.5678-dcba
... donde 56780-dcba es el UUID del repositorio de lectura-escritura.La solución es:
$ mv .git/svn/refs/remotes/trunk/.rev_map.5678-dcba \
.git/svn/refs/remotes/trunk/.rev_map.1234-abcd
no se puede decir con certeza si esto es una solución duradera, es decir, que podría confundirse próxima vez que git svn ir ". Podría intentar un enlace simbólico en lugar de 'mv', no he experimentado con eso.
- 1. git-svn error de compromiso: no se puede determinar la información de SVN en sentido ascendente
- 2. "No se puede determinar la información de SVN en sentido ascendente desde el historial de árbol de trabajo"
- 3. Información SVN de ASP.NET: 'No se puede determinar la ruta de configuración del usuario'
- 4. ¿Qué significa en sentido ascendente en nginx?
- 5. SVN Sincronizar vs Actualizar a Head (subclipse)
- 6. No se puede determinar el directorio actual
- 7. Dividir archivos manteniendo el historial en SVN
- 8. El servidor proxy recibió una respuesta no válida de un servidor en sentido ascendente
- 9. No se puede sincronizar con MacPorts desde SVN
- 10. Práctica recomendada para realizar el seguimiento en sentido ascendente en fork en github
- 11. Nginx proxy_pass a una contraseña protegida en sentido ascendente
- 12. git svn argumento ambiguo 'HEAD'
- 13. Cuando uso Eclipse y Egit no puedo presionar en sentido ascendente
- 14. Exportar el repositorio git a svn
- 15. No se puede svn diff usando meld
- 16. ¿Es posible ver el historial de una línea en SVN?
- 17. no puede dar sentido a LARGE_INTEGER estructura
- 18. No se puede determinar el espacio de trabajo utilizando tf.exe
- 19. ¿Cómo revertir una rama git-svn a SVN HEAD?
- 20. Administrar fuente bajo git y svn simultáneamente - ¿tiene sentido?
- 21. No se puede determinar el tamaño del terminal con ncurses
- 22. No se puede iniciar el emulador de Android: "No se puede cargar VM desde la instantánea"
- 23. Error: readv() error (104: Restablecimiento de la conexión por pares) mientras lee en sentido ascendente
- 24. svn: No se puede abrir el archivo '.svn/lock': Permiso denegado en MAc
- 25. ¿Cómo se obtiene el historial de una propiedad de archivo/carpeta en SVN?
- 26. Generar el historial de cambios en un archivo en svn
- 27. Git Diff entre HEAD y SVN Master
- 28. Configuración de Eclipse/EGit para rastrear un repositorio en sentido ascendente
- 29. SVN - Recuperando información útil
- 30. no se puede arreglar el objeto malo HEAD error con el estado de git
Es una wiki de la comunidad. – Chad
Eso solo significa que muchas personas pueden responder, editar o editar respuestas. Todavía debería hacer una pregunta. – bmargulies