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

Что я должен настроить SVN для игнорирования в моих проектах Delphi?

В каких файлах я должен сообщать Tortoise SVN игнорировать при записи в репозиторий?

В частности, меня интересует практическая информация, например, включать ли такие файлы, как *.dproj.2007 и т.д., которые, кажется, появляются, но могут не понадобиться.

4b9b3361

Ответ 1

Я использую их в D2007, которые, похоже, все еще отлично работают в XE и XE2:

*.dcu *.~* *.ddp *.exe *.map *.bak *.obj *.dsk 
*.err *.log *.tmp *.identcache *.tvsconfig  __history *.todo 
ModelSupport* *.local

Я не включаю ModelSupport, потому что я не использую материал моделирования IDE, поэтому нет смысла в его версии, если он создан по ошибке. Я также ничего не обновляю в папке __history, поскольку это просто временное управление версиями между сеансами; после того, как сделан запрос на SVN, он больше не нужен.

(Я не согласен с Крисом о *.res, BTW, особенно когда речь заходит о XE2. Файлы ресурсов теперь можно создавать с помощью Project|Resources and Images, и они идут непосредственно в файл ресурсов. Поскольку ресурс\образ может быть фактически откуда-то еще не в текущей папке, и файл изображения может случайно не быть включен, я сохраняю файл .res. Я также сохраняю файл проекта, у него есть все пути и параметры компилятора. Если что-то происходит где это нужно изменить, легко просто удалить файл проекта и позволить IDE воссоздать его по мере необходимости.)

Ответ 2

Используя Delphi2005, наша команда уже давно приняла это:

*. bdsproj *.scc *.suo *.user. ~ *.local *.identcache *.dsk obj bin testing __history *.o *.lo *.la *.al.libs *.so.so. [0-9] *.a *.pyc *.pyo *.rej ~ ##. # *. *. Swp.DS_Store

Не уверен, нужны ли они всем или нет, или некоторые из них. Я не придумал это, просто следуя нашей внутренней вики....

Вдоль этих строк вы должны посмотреть на крючки с предварительной фиксацией на стороне сервера. У нас есть триггер pre-commit, который запрещает проверку файлов .bdsproj,.dpr и .res, если в комментарий не включен специальный тег: [Добавить файл проекта] [Добавить файл Resize]. Если вы попытаетесь зафиксировать .bdsproj,.res или .dpr без этих тегов, коммит не сможет выполнить аудит и будет отклонен, а неловкое электронное письмо будет отправлено всей команде разработчиков. Это связано с тем, что эти файлы редко имеют какие-либо законные изменения. Если вам нужно добавить блок в проект, в порядке, сделайте это и включите тег с помощью checkin, и все будет хорошо. Тег говорит: "Я знаю, что делаю, и у меня есть все основания для изменения этого файла". В противном случае у вас будут проверены всевозможные дерьмы - номера оборотов, изменения пути, входящие и исходящие пакеты и т.д.

У нас также есть фильтры grep в pre-commit, которые ищут определенные вещи. Как и нежелательные "скины" от DevExpress, потому что у какого-то разработчика есть все установленные скины, и IDE решила их добавить. Или MadExcept, потому что кто-то оставил его включенным после отладки чего-то (мы не разрешаем MadExcept в производстве по этому конкретному проекту по разным причинам). Вроде того.

Обновление: поскольку наша среда не типична, я удалил *.res из списка выше.