Mercurial HG случай складывания столкновения? - PullRequest
12 голосов
/ 19 августа 2010
  1. сначала у меня есть имя файла readme
  2. тогда я изменяю его на README
  3. совершить
  4. толчок

хорошо, проблема в том, что есть два файла: readme и README

как мне удалить файл readme из репозитория?

когда я обновляюсь, я получаю эту ошибку прервать: столкновение со случаем складывания между readme и README

Ответы [ 5 ]

14 голосов
/ 19 августа 2010

Mercurial может обрабатывать имена файлов в одном и том же каталоге, которые отличаются только их регистром в своих репозиториях (каталог .hg на верхнем уровне вашего репозитория).В чувствительных к регистру файловых системах (большинство в unix) он может обрабатывать эти файлы и в рабочем каталоге.Тем не менее, в системах, которые просто сохраняют регистр, ОС не позволяет иметь два файла в одном каталоге, которые отличаются только регистром, и Mercurial предупреждает вас об этом (как вы видели).Обойти это ограничение вашей ОС, проверить ваш клон в чувствительной к регистру файловой системе, удалить файл, а затем зафиксировать / нажать.До тех пор, пока пользователи Windows не будут hg updating в ревизии, в которой есть коллизия, они будут в порядке (так как в репозитории все нормально, а не в рабочем каталоге).

1 голос
/ 17 сентября 2013

Предположим, вы хотите, чтобы readme был README.

hg mv readme foofile
hg mv foofile README

Сделайте это и зафиксируйте эти изменения, и репо снова будет доступно для использования.

1 голос
/ 05 марта 2013

Этот вопрос является дубликатом и может быть свернут в Устранение Mercurial Case-Folding Collision в Windows

Я согласен с комментарием, что попросить кого-то работать в файловой системе, чувствительной к регистру, немного сложновато, даже с Cygwin. Самое чистое решение, предполагающее наличие двух файлов:

  1. рт.ст. Возврат к началу объединяемой ветви с
  2. hg удалить // затем зафиксировать и т. Д.
  3. проверить историю файлов. Возможно, некоторые изменения были неправильно внесены в переименованный файл
  4. Если это так, вручную добавьте эти изменения в
0 голосов
/ 19 мая 2016

У меня была проблема, когда происходило столкновение с кейсом, когда я выполнял Update для определенной ревизии. Рассматриваемая ревизия была зафиксирована специально для устранения коллизии случая, когда я переименовал файл. К сожалению, Mercurial не собирался позволять мне Update до ревизии.

Тем не менее, я все еще могу Update пересмотреть до и после него. Так что, если вы столкнулись с этой проблемой в Windows (или аналогичной файловой системе без учета регистра) при простом Update обращении к конкретной ревизии, вы можете обойти ревизию проблемы, указав Update одну до или после нее. .

0 голосов
/ 26 апреля 2013

Если это было переименование, то как abc.txt перемещается в Abc.txt

Будет ли работать следующее?

Возьми патч, Проверьте код свежим, Примените патч поверх него. тогда передай пуш

...