Mercurial: "el archivo no rastreado en el directorio de trabajo difiere del archivo en la revisiĆ³n solicitada"?
merge (5)
¿Alguien puede decirme qué significa este error Mercurial?
el archivo no rastreado en el directorio de trabajo difiere del archivo en la revisión solicitada
Esto ocurrió al hacer una búsqueda de hg:
C:/myapp>hg fetch ssh://hg/myapp-v1
pulling from ssh://hg/myapp-v1
searching for changes
adding changesets
adding manifests
adding file changes
added 93 changesets with 693 changes to 78 files (+1 heads)
updating to 797:0df7dbe7dc06
196 files updated, 0 files merged, 196 files removed, 0 files unresolved
merging with 704:edb7765768c6
abort: untracked file in working directory differs from file in requested revision: ''a/b/c/d.java''
Por lo que puedo decir, este archivo (a / b / c / d.java) no coincide con ninguna ruta configurada en .hgignorar. Y este archivo específico también es idéntico en los dos repositorios (myapp y myapp-v1).
No estoy seguro de lo que esto significa. ??
Lo hg update --clean
ejecutando hg update --clean
Probé la respuesta de Ry4an (de borrar el archivo) y todavía no funcionaba, así que ejecuté una purga y eso eliminó todos los rastros de manera que funcionó después. En caso de que alguien esté buscando una solución alternativa.
Si usa TortoiseHG, puede marcar la opción "Descartar cambios locales, no hacer copias de seguridad" en la ventana de Actualización.
Te dice que ya tienes un archivo llamado a/b/c/d.java
en tu directorio de trabajo local del repositorio de myapp, pero no ha sido agregado (rastreado), y fetch no está dispuesto a sobrescribirlo al actualizar / fusionando.
Las cosas que puedes hacer son éter:
- Mueva su copia de
a/b/c/d.java
fuera del camino y luego haga la extracción / actualización. Después de eso, compara tu movidoa/b/c/d.java
con el que uno trae.
o
-
hg add a/b/c/d.java
,hg commit a/b/c/d.java
, y luego tire / fusione
El primero funciona porque ya no hay un archivo en el camino, y el último funciona porque su copia se rastrea para que Mercurial pueda fusionarlos.
Además, debería considerar dejar de usar fetch
. Combina pull
update
y merge
, lo que no es una forma segura de ser. En este caso, su pull
habría tenido éxito y tanto la update
como la merge
le habrían dado muchos más mensajes útiles.