2010-08-19 13 views
12
  1. primero tengo un nombre de archivo readme
  2. luego lo cambio a README
  3. cometer
  4. empuje

bien el problema es que hay dos archivos: readme y READMEMercurial HG colisión caso plegado?

¿Cómo elimino el archivo Léame en el repositorio?

cuando me puedo actualizarla sale este error aborto: caja plegable colisión entre readme y README

+0

Posible duplicado de [Solución de colisión caso-plegable Mercurial en Windows] (https://stackoverflow.com/questions/10531853/resolving-mercurial-case-colchón-plegable-en-ventanas) – DaveInCaz

Respuesta

14

Mercurial puede manejar nombres de archivo en el mismo directorio que difieren sólo en su caso, dentro de sus repositorios (.hg directorio en la parte superior nivel de su repositorio). En sistemas de archivos sensibles a mayúsculas y minúsculas (la mayoría en Unix) también puede manejar esos archivos en el directorio de trabajo. Sin embargo, en sistemas que son meramente receptivos a casos, el sistema operativo no le permite tener dos archivos en el mismo directorio que difieren solo por caso y Mercurial le advierte al respecto (como ha visto).

Para evitar esta limitación de su sistema operativo, busque su clon en un sistema de archivos con distinción de mayúsculas y minúsculas, elimine el archivo y luego confirme/presione. Mientras las personas de Windows no estén hg updating en una revisión que tenga la colisión, estarán bien (ya que está bien en el repositorio, pero no en su directorio de trabajo).

+0

gracias :) btw pago su clonar en un sistema de archivos sensible a mayúsculas y minúsculas? –

+0

sistema de archivos con mayúsculas y minúsculas = Linux/BSD – Vlad

+7

No es una solución muy práctica ... – Justin

1

Esta pregunta es un duplicado de y podrían ser doblado en Resolving Mercurial Case-Folding Collision in Windows

Estoy de acuerdo con el comentario de que hay que pedir a alguien para trabajar dentro de un sistema de archivos sensibles caso es un poco de mano dura, incluso con Cygwin. La solución más limpia asumiendo dos archivos y parece ser:

  1. hg revert a la cabeza de la rama que se fusionen que tiene
  2. hg eliminar // entonces cometer, etc.
  3. comprobar el historial de archivos en. Es posible que algunas adiciones se hicieron incorrectamente al archivo renombrado
  4. Si es así, añadir manualmente esos cambios a
0

si fue un cambio de nombre, eso es como abc.txt trasladaron a abc.txt

Will el siguiente trabajo?

Tome un parche, Compruebe el código fresh, Aplique el parche encima. then commit n push

1

Supongamos que quiere que léame sea README.

hg mv readme foofile 
hg mv foofile README 

Haga esto y confirme estos cambios, y el repositorio debe poder volver a utilizarse.

0

Tuve este problema donde estaba ocurriendo la colisión de la caja cuando realicé un Update en una revisión en particular. La revisión en cuestión fue un cometido realizado específicamente para abordar una colisión plegada de casos en la que renombré el archivo. Desafortunadamente, Mercurial no me iba a permitir Update a la revisión.

Sin embargo, todavía podía Update revisar antes y después. Por lo tanto, si encuentra este problema en Windows (o en un sistema de archivos que no distingue entre mayúsculas y minúsculas) mientras simplemente realiza una revisión en particular, puede omitir la revisión del problema por Update y antes o después.

Cuestiones relacionadas