Подтвердить что ты не робот

Меркуриальное HG случайное сгибание столкновений?

  • Сначала у меня есть имя файла readme
  • затем я меняю его на README
  • совершить
  • толчок

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

как удалить readme в репозитории?

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

4b9b3361

Ответ 1

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

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

Ответ 2

Этот вопрос является дубликатом и может быть сложен в Разрешение меркуриального случайного сгибания в Windows

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

  • hg вернуться к заголовку ветки, которая будет объединена с
  • hg remove//​​затем commit и т.д.
  • проверьте историю файлов. Возможно, что некоторые дополнения были неправильно внесены в переименованный файл
  • Если это так, вручную добавьте эти изменения в

Ответ 3

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

hg mv readme foofile
hg mv foofile README

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

Ответ 4

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

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

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

Ответ 5

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

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