Могу ли я сделать Subversion + TortoiseSVN без учета регистра для Windows?

Я использую Subversion для управления кодом с TortoiseSVN для взаимодействия с сервером в течение последних нескольких месяцев, и в целом все отлично! Однако иногда моя FoxPro IDE изменяет случай расширения файла без предупреждения, где "program.prg" становится "программой. PRG" ). TortoiseSVN, по-видимому, подразумевает, что первый файл был удален, становится помеченным как "отсутствует", а второе имя называется "не-версией", разрушая мою способность отслеживать изменения в файле. Я понимаю, что Subversion имеет свое происхождение в чувствительном к регистру мире * nix, но есть ли способ контролировать это поведение в Subversion или TortoiseSVN, чтобы имя файла было нечувствительным к регистру при использовании с Windows?

Ответ 1

К сожалению, Subversion чувствительна к регистру. Это связано с тем, что файлы из Subversion можно проверить как в файловых системах, чувствительных к регистру (например, * nix), так и в незашифрованных файловых системах (например, Windows, Mac).

Этот крюк pre-commit script может помочь вам избежать проблем при проверке файлов. Если это не решит вашу проблему, мое лучшее предложение - написать немного script, чтобы убедиться, что все расширения имеют строчные буквы и запускают их каждый раз, прежде чем вы входите в/проверить. Это будет PITA, но, возможно, ваш лучший выбор.

Ответ 2

Windows поддерживает чувствительность к регистру, но вы должны отправить правильные флаги POSIX в CreateFile из Windows API! Возможно, потребуется изменить раздел реестра (SFU/Tools для Unix и Ultimate Windows 7 уже установили эту запись в реестре, чтобы окна поддерживали имена файлов, чувствительных к регистру).

Windows разрабатывается из Unix, но такие вещи, как Explorer.exe и другие программы, предназначены для предотвращения чувствительности к регистру для обратной совместимости и безопасности (в основном при работе с dos, выполняющей notepad.exe по сравнению с NOTEPAD.EXE, где все кепки является вирусом или вредоносным ПО).

Но у Vista + есть атрибуты безопасности, которые делают это устаревшим.

TortiousSVN просто не поддерживает передачу этого символа posix при создании и переименовании файлов.

Ответ 3

Я использую TortoiseSVN с VFP, и он в основном - легко обрабатывает флип файл. Единственный раз, когда это не так, - если у меня есть файл, открытый в среде IDE, когда я пытаюсь выполнить фиксацию: блокировка файла VFP держит его. Это где ваша проблема возникает, или есть другие проблемы?

В прошлом году я сделал презентацию в FoxForward об использовании VFP с Subversion: большая часть презентации была посвящена командной строке, но в конце есть несколько слайдов, которые имеют ссылки на инструменты, которые помогут вам работать с Subversion в VFP, http://docs.google.com/Presentation?id=dfxkh6x4_3ghnqc4

Ответ 4

Я считаю, что случайный верхний и нижний регистр в расширениях не является случайным вообще. Я помню, как тестировал это. Если вы измените программу у менеджера проекта. Нажав кнопку "Изменить", скажем. Затем сохраните изменения, а расширение - в нижнем регистре. Если вы выполните команду изменения из окна команд и сохраните изменения, расширение будет в верхнем регистре. По-видимому, кодеры Microsoft не беспокоились о том, что расширение является тем же.

Ответ 5

Kit, вы замечаете выше, что исходные файлы на основе двоичных файлов VFP с трудом работают в Subversion. В ссылке, которую я привел выше, упоминается несколько инструментов, чтобы упростить ее, но с моей работой связана утилита Christof Wollenhaupt TwoFox - она ​​конвертирует проект VFP в текстовое. Вы должны запускать его вручную, но у меня нет проблем с этим.

http://www.foxpert.com/docs/cvs.en.htm

Ответ 6

Нет, конечно, вы не можете. SVN чувствителен к регистру, если вы не должны каким-либо образом переписывать код... это open-source.