Используя subversion, возможно ли «незаметно» включить файл в систему управления версиями? - PullRequest
0 голосов
/ 21 ноября 2010

Мой проект содержит несколько файлов конфигурации IDE, которые постоянно меняются, но не влияют на саму сборку.Я хотел бы, чтобы эти файлы были включены в каждый коммит и обновление, но я бы предпочел, чтобы они не отображались в списке измененных файлов.Возможно ли это?

Подробности:

My IDE (Xcode) использует файлы конфигурации для каждого пользователя для отслеживания таких вещей, как положение окна, локальный каталог сборки, цветовая кодировкаи т. д. Эти файлы конфигурации хранятся вместе с самим файлом проекта (в одном комплекте) и не могут быть перемещены.Если я даю команду subversion игнорировать эти файлы, они исключаются из коммитов.Если я получаю обновление, а другой разработчик изменяет проект, мои локальные конфигурационные файлы стираются.Если я не игнорирую эти файлы, они постоянно отображаются «Изменено» в моем клиенте Subversion, и я бы предпочел не загромождать историю репозитория крошечными коммитами только для загрузки моих локальных файлов конфигурации.Я делаю , однако, хочу, чтобы они были сохранены в хранилище, чтобы я мог выполнить обновление без потери каких-либо настроек.

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

Ответы [ 4 ]

3 голосов
/ 21 ноября 2010

Вы говорите: «Если я скажу Subversion игнорировать эти файлы, они будут исключены из коммитов. Если я получу обновление, а другой разработчик изменил проект, мои локальные файлы конфигурации будут стерты». Если вы поместите файлы в .svnignore и отметите , что , то никто не зафиксирует файлы настроек, и они никогда не будут засорены при извлечении обновления.

1 голос
/ 21 ноября 2010

Эти файлы вообще не должны находиться под контролем версий. Извлеките их (svn del them) и затем установите svn: ignore для * .pbxuser и * .mode1v3 в каталоге project.xcodeproj.

1 голос
/ 21 ноября 2010

Вы можете использовать свойство svn:ignore. Свойство svn:ignore не позволит пользователям видеть эти файлы с svn status и добавлять их с svn add *. Однако это не делает их невидимыми, и пользователи могут добавлять их в хранилище. После добавления они будут отображаться с svn status, а svn commit подтвердит изменения.

Следовательно, вам также нужен хук перед фиксацией, чтобы предотвратить добавление этих файлов в хранилище, только если кто-то попытается (и они будут).

1 голос
/ 21 ноября 2010

Как насчет авторизации на основе пути?

http://svnbook.red -bean.com / ru / 1.4 / svn.serverconfig.pathbasedauthz.html

[calc:/branches/calc/bug-142]
harry = rw
sally = r
[calc:/branches/calc/bug-142/secret]
harry =

ТолькоПолучите доступ к секрету, так что ни один из других разработчиков не получит даже копию для фиксации. (Хотя это не похоже на то, что он имеет отдельную детализацию на уровне файлов. Поэтому вы должны убедить своего идеала поместить его файл в каталог.)

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