Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Могу ли я сделать Subversion + TortoiseSVN нечувствительным к регистру для Windows?
Я использую Subversion для управления кодом с помощью TortoiseSVN для взаимодействия с сервером в течение последних нескольких месяцев, и в целом все идет отлично! Однако иногда my FoxPro IDE без предупреждения изменяет случай расширения файла, где " program.prg "становится" программой. PRG ") TortoiseSVN, по-видимому, принимает это за то, что первый файл был удален, став помеченным как "missing", а второе имя появляется как "неверсионное", что разрушает мою способность отслеживать изменения в файле. Я понимаю, что Subversion имеет свои истоки в чувствительном к регистру мире *nix, но есть ли какой-либо способ контролировать это поведение в Subversion или TortoiseSVN, чтобы быть нечувствительным к регистру имени файла при использовании с Windows?
К сожалению, Subversion учитывает регистр символов. Это связано с тем, что файлы из Subversion можно проверить как на чувствительных к регистру файловых системах (например, *nix)), так и на нечувствительных к регистру файловых системах (например, Windows, Mac).
Этот сценарий предварительной фиксации крюка может помочь вам избежать проблем при возврате файлов. Если это не решит вашу проблему, я лучше всего напишу небольшой скрипт, чтобы убедиться, что все расширения написаны в нижнем регистре, и запускайте его каждый раз перед тем, как вы регистрируетесь/выписываетесь. Это будет PITA, но, возможно, ваш лучший выбор.
Windows поддерживает чувствительность к регистру, но вы должны отправить ему правильные флаги POSIX на CreateFile из Windows API! Раздел реестра может потребоваться изменить (SFU/Tools для Unix и Ultimate Windows 7 уже имеет эту запись реестра, поэтому windows поддерживает имена файлов с учетом регистра).
Windows спроектирован вне Unix, но такие вещи, как Explorer.exe и другие программы, предназначены для того, чтобы запретить чувствительность к регистру для обратной совместимости и безопасности (в основном при работе с dos, выполняющей notepad.exe против NOTEPAD.EXE, где все caps-это вирус или вредоносное ПО).
Но Vista+ имеет атрибуты безопасности, которые делают это устаревшим.
TortiousSVN просто не поддерживает передачу этого флага posix при создании и переименовании файлов.
Я считаю, что случайные верхний и нижний регистр на расширениях вовсе не случайны. Я помню, как испытывал это на себе. Если вы изменяете программу из менеджера проекта. Скажем, нажав на кнопку Изменить. А затем сохраните изменения расширение в нижнем регистре. Если вы выполняете команду modify из окна командной строки и сохраняете изменения, расширение имеет верхний регистр. Очевидно, программисты в Microsoft не беспокоились о том, что случай расширения будет таким же.
Я использую TortoiseSVN с VFP, и это в основном-легко справляется с переворачиванием корпуса. Единственный раз, когда это не происходит, это если у меня есть файл, открытый в IDE, когда я пытаюсь сделать фиксацию: блокировка файла VFP держит его в замешательстве. Это то, где возникает ваша проблема, или есть другие проблемы?
В прошлом году я сделал презентацию на FoxForward об использовании VFP с Subversion: большая часть презентации касалась командной строки, но в конце есть несколько слайдов, которые содержат ссылки на инструменты, которые помогут вам работать с Subversion в VFP. http://docs.google.com/Presentation?ИД=dfxkh6x4_3ghnqc4
Кит, вы прокомментировали выше, что двоичные исходные файлы VFP трудно работать с ними в Subversion. Ссылка, которую я дал выше, упоминает несколько инструментов, чтобы сделать его проще, но тот, с которым я работаю,-это утилита TwoFox Кристофа Волленхаупта-она преобразует проект VFP только в текст. Вы должны запустить его вручную, но у меня нет проблем с этим.
http://www.foxpert.com/docs/cvs.en.htm
У нас была похожая проблема, и я нашел лучшее решение , чем те, которые были выставлены здесь, поэтому я делюсь им сейчас:
Для коммитов , выполненных вручную, теперь TortoiseSVN автоматически исправляет регистр имен файлов: он переименовывает локальные файлы в соответствии с регистром версионных файлов (просто открывая окно фиксации в этом пути), поэтому с этим не должно быть никаких проблем .
Для автоматической фиксации вы не можете использовать TortoiseSVN, так как он требует подтверждения фиксации вручную (он открывает окно фиксации с определенным сообщением, но вам все равно нужно нажать кнопку ОК). Но если вы непосредственно используете Subversion (svn) для автоматической фиксации, то у вас будет проблема с учетом регистра в этой фиксации, поскольку Subversion все еще чувствительна к регистру...
Как решить эту проблему для автоматических коммитов? Ну, я попробовал смешанный подход: создание пакетного файла с именем FixCaseSensitiveFileNames.bat , который вы можете вызвать, передавая путь, который вы хотите исправить перед фиксацией, например: call FixCaseSensitiveFileNames.bat C:\MyRepo . Пакетный файл открывает TortoiseSVN для ручной фиксации, и это автоматически исправляет имена файлов, но затем он закрывает окно фиксации после предопределенной паузы, так что вы можете продолжить автоматическую фиксацию с уже исправленными именами файлов с учетом регистра. Пауза эмулируется локальным пингом, и вы можете изменить ее продолжительность, изменив аргумент -n , который является числом попыток. Если вы не сделаете достаточно долгую паузу, существует риск закрыть окно TortoiseSVN до того, как оно сделает свое волшебное исправление. Вот он код пакетного файла :
@echo off
REM *** This BAT uses TortoiseSVN to fix the case-sensitive names of the files in Subversion
REM *** Call it before an automated commit. The Tortoise commit fixes this issue for manual commits,
REM *** so the trick is opening the commit window and close it automatically after a pause (with ping).
REM *** %1 = path to be fixed
start TortoiseProc.exe /command:commit /path:"%1"
ping localhost -n 10 >nul
taskkill /im TortoiseProc.exe
Это полностью решило проблему для нашего автоматизированного ежедневного процесса сборки. Единственная проблема, которую я вижу, это то, что окно откроется на несколько секунд, что не было проблемой для нашей повседневной сборки, но если это проблема для вас, то могут быть и обходные пути...