2009-08-12 10 views
2

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

Есть ли простой способ справиться с этим? По крайней мере, я хотел бы знать, как исключить файл из коммитов, даже если он изменен. Было бы здорово, если бы можно было проверить другую версию файла в зависимости от того, где я.

ответ

1

Обычный способ управления этим состоит в том, чтобы удалить ваш (составляющий имя здесь) settings.cfg файл из Subversion и вместо этого зарегистрировать файл settings.cfg.example. На каждой машине скопируйте settings.cfg.example в settings.cfg и отредактируйте при необходимости. Для изменения структуры конфигурационного файла или настроек по умолчанию или любого другого, отредактируйте settings.cfg.example.

+0

Это отличная идея и прост в реализации, спасибо! – Kai

+1

И, конечно, добавьте ваши settings.cfg в svn: ignore. –

0

Вы можете управлять им с помощью какой-либо структуры ветви, я считаю.

+0

Я не вижу, как ветки могут помочь в этом случае ... –

+0

поддерживать ветку для каждого местоположения? –

0

Если добавить файл конфигурации в SVN: игнорировать свойство, то оно не будет совершено, когда изменение:

svn pe svn:ignore . 

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

+0

Это похоже на хорошую организацию, но я боюсь сделать это, потому что это делает мою программную логику зависимой от свойств SVN (т. Е. Если я забуду указать только локальные настройки в этом конкретном файле, у меня проблемы) – Kai

+1

Я бы Посмотрите на это, как на SVN. Это по-прежнему хорошая организация для разделения вещей, которые все разделяют от вещей, которые будут сильно меняться. –