Mercurial: проблема с буквами не-ascii в именах файлов между Windows и Linux - PullRequest
5 голосов
/ 31 августа 2011

У меня есть центральный репозиторий Hg на сервере samba и две рабочие копии, одна на Ubuntu и одна на компьютере с Windows 7.Все работало нормально, пока я по ошибке не добавил в проект файл с русской буквой в названии.Я сделал это в Linux.Mercurial с радостью принял это, и в Linux все по-прежнему работает.Однако я обнаружил, что больше не могу вытягивать ревизии в Windows.Для hg pull я получаю

pulling from ...
searching for changes
adding changesets
transaction abort!
rollback completed
abort: empty or missing revlog for figures/interfDðÁsign.svg

(имя файла проблемы должно быть interfDеsign с кириллицей 'е'.) Я переименовал файл в Linux, зафиксировал и нажал изменение, и дажеувидеть это изменение, если я сделаю hg in в Windows.Но я не могу вытащить это!Есть ли способ исправить эту проблему и заставить репозиторий снова работать с Windows?

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Читать это ... http://groups.google.com/group/mercurial_general/browse_thread/thread/300a3f5e1a23592e Хороших новостей нет: -)

НО

может быть исправление: попробуйте это https://www.mercurial -scm.org / wiki / FixUtf8Extension

0 голосов
/ 02 сентября 2011

Я нашел другое решение или, вернее, обходной путь.С расширением Convert можно переименовать файл с плохим именем, то есть исправить ошибку, сделанную давно.В данном конкретном случае все работало нормально.Конечно, нужно быть осторожным, чтобы в проекте не было зависимостей от файла с плохим именем, а некоторые сообщения коммитов могут стать бессмысленными.

Преимущество этого метода в том, что другим людям не нужноустановите нестандартное расширение просто для того, чтобы иметь возможность проверить старый набор изменений с очень неправильным именем файла.

...