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

Как обращаться с файлами, которые имеют отношение к управлению версиями, но которые часто меняются неактуальными способами?

.dproj файлы необходимы для проектов Delphi, поэтому они должны находиться под контролем версий.

Эти файлы контролируются IDE, а также содержат некоторую информацию, которая часто изменяется, но совершенно не имеет отношения к управлению версиями.

Например: я часто меняю начальные параметры приложения (несколько раз в день), но не хочу случайно передавать файл проекта, если изменилась только часть, связанная с параметрами запуска.

Итак, как справиться с этой ситуацией?

Чистым решением было бы разделить файл, но это невозможно в Delay IDE AFAIK.

Можно ли игнорировать определенную часть файла?

Мы используем Subversion на данный момент, но можем скоро перейти на Git.

4b9b3361

Ответ 1

SVN/git не может "знать", какие биты файла важны, а перевод того, что важно для вас совершить или нет в "бит" файла, будет затруднен (особенно если вы точно не знаете, как информация структурирована внутри него). Наиболее практичным решением является проверка изменений, внесенных в файл, и принятие решения о том, следует ли их комментировать или нет.

Вы можете решить, какие биты файла вы хотите совершить с помощью git. Это, однако, не автоматический процесс, который вы, похоже, ищете.

Ответ 2

В нашем случае разработчику очень редко приходится вносить существенные изменения в файлы .bdsproj,.dpr,.res. Поэтому мы отклоняем фиксацию (pre-commit hook in subversion), если в комментарии коммита отсутствуют специальные теги: [добавить файл проекта] или [добавить файл res]. Это предотвращает "изменчивые" изменения этих файлов.

Ответ 3

Для конкретного случая начальных параметров: плагин DDevExtentions известного Andreas Hausladen позволяет хранить исходные параметры отдельно dproj. Подробнее о DDevExtensions см. его сайт.

EDIT: если я правильно помню, эта функция была создана только потому, что у него была эта точная проблема с параметрами запуска и контролем версий.

Ответ 4

Я бы не сохранил файлы .dproj непосредственно в управлении версиями, а предоставил файл по умолчанию, который должен быть переименован пользователем, чтобы получить дефектную работу Delphi.

Ответ 5

Используйте параметр --assume-unchanged на git update-index <file>, как описано здесь и fooobar.com/info/2009/....

Вы можете сделать простые псевдонимы для тех, кто в этом нуждается, просто.