2010-08-19 6 views
12
  1. d'abord j'ai un nom de fichier readme
  2. puis je change à README
  3. commettras
  4. pousser

ok le problème est qu'il ya deux fichiers: readme et READMEMercurial HG collision de pliage de cas?

comment puis-je supprimer le readme sur le référentiel?

quand je fais à jour je reçois cette erreur abort: collision de la casse entre readme et README

+0

Copie possible de [Résolution de la collision pliante Mercurial sous Windows] (https://stackoverflow.com/questions/10531853/resolving-mercurial-case-folding-collision-in-windows) – DaveInCaz

Répondre

14

Mercurial peut gérer les noms de fichiers dans le même répertoire qui ne diffèrent que dans leur cas, dans ses dépôts (.hg répertoire en haut niveau de votre repo). Sur les systèmes de fichiers sensibles à la casse (la plupart sur Unix), il peut également gérer ces fichiers dans le répertoire de travail. Cependant, sur les systèmes qui ne font que conserver la casse, le système d'exploitation ne vous permet pas d'avoir deux fichiers dans le même répertoire qui ne diffèrent que par cas et Mercurial vous en avertit (comme vous l'avez vu). Pour contourner cette limitation de votre système d'exploitation, extrayez votre clone sur un système de fichiers sensible à la casse, supprimez le fichier, puis validez/appuyez sur. Tant que les personnes de Windows ne sont pas à une révision qui a la collision, elles iront bien (puisque c'est correct dans le dépôt juste pas dans leur répertoire de travail).

+0

merci :) btw checkout votre cloner sur un système de fichiers sensible à la casse? –

+0

système de fichiers sensible à la casse = Linux/BSD – Vlad

+7

Pas une solution très pratique ... – Justin

1

Cette question est un double de et peut être plié en Resolving Mercurial Case-Folding Collision in Windows

Je suis d'accord avec le commentaire là que demander à quelqu'un de travailler dans un cas système de fichiers sensible est un peu heavyhanded, même avec Cygwin. La solution la plus propre en supposant deux fichiers et semble être:

  1. nous revenions hg à la tête de la branche à fusionner qui a
  2. hg supprimer // commettre alors, etc.
  3. vérifier l'historique des fichiers sur. Il est possible que certains ajouts ont été incorrectement apportées au fichier renommé
  4. Si oui, ajoutez manuellement ces changements à
0

Si elle était un changement de nom, thats comme abc.txt déplacé à abc.txt

Will le travail suivant?

Prendre un patch, Vérifiez le code frais, Appliquez le patch sur le dessus. puis validation n push

1

En supposant que vous voulez que readme soit README.

hg mv readme foofile 
hg mv foofile README 

Procédez ainsi et validez ces modifications, et le dépôt devrait être de nouveau utilisable.

0

J'ai eu ce problème où la collision de cas se produisait lorsque j'ai effectué un Update à une révision particulière. La révision en question était un commit réalisé spécifiquement pour traiter une collision de pliage de cas où j'ai renommé le fichier. Malheureusement, Mercurial n'allait pas me permettre de procéder à la révision.

Cependant, je pourrais encore Update à des révisions avant et après. Ainsi, si vous rencontrez ce problème sous Windows (ou un système de fichiers insensible à la casse) tout en effectuant simplement une révision particulière, vous pourrez peut-être contourner la révision du problème par Update avant ou après celle-ci.

Questions connexes