Windows & Mercurial изменения случаев имен классов - PullRequest
13 голосов
/ 09 сентября 2011

Я унаследовал проект Java, который включает в себя ряд классов, которые не названы в соответствии с соглашением об именовании UpperCamelCase.

Это особенно верно для сокращений (например, HTMLButton, а не HtmlButton).Хотя я знаю, что существуют некоторые расхождения во взглядах на использование CamelCase с аббревиатурами, мы хотели бы перейти на использование только заглавной буквы для первой буквы аббревиатуры.(В настоящее время, кажется, существует несколько соглашений об именах одновременно.)

Я бы хотел привести это в порядок.Мы используем Mercurial в качестве нашего хранилища исходного кода и работаем на компьютерах с Windows (включая XP, Vista, 7).Однако если я изменю имя класса с HTMLButton на HtmlButton, Mercurial распознает это как изменение имени класса, но не как изменение имени файла.(И впоследствии любые извлечения из Mercurial не вызывают изменение имени файла.)

Я знаю, что Windows работает в файловой системе без учета регистра, и я понимаю, что Mercurial принимает эту функцию при принятии вызововиз окна Windows ...

Итак ...: - Могу ли я изменить настройку, чтобы Mercurial использовал имена файлов с учетом регистра?- Можно ли изменить настройку, чтобы Windows использовала имена файлов с учетом регистра?(Это отдельные вопросы. Мой приоритет заключается в том, чтобы Mercurial принял изменения имени файла, при необходимости мы можем вручную принудительно переименовать файл в нашей IDE. Однако было бы предпочтительнее прямое решение!)

(Если ничего не помогает, я могу попробовать переименовать HTMLButton в HtmlButtonA, зафиксировать и нажать и переименовать HtmlButtonA в HtmlButton, а затем сделать еще один коммит и нажать ... Однако я не уверен, какое влияние это окажет на имена файлов Windows, есликто-то другой только после второго толчка сделал ...)

1 Ответ

20 голосов
/ 09 сентября 2011

Если вы делаете:

hg rename foo bar
hg rename bar Foo

Вам не нужно на самом деле фиксировать и давить до конца. Другими словами, ваш репозиторий не будет знать об этом обходном пути для Windows.

Другой вариант - переименовать файл в Windows, а затем вызвать:

hg rename foo Foo --after

, чтобы уведомить Mercurial об изменении.

Источник: http://hgbook.red -bean.com / read / mercurial-in-daily-use.html # id364064

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...