SVN Игнорировать ситуацию - PullRequest
       1

SVN Игнорировать ситуацию

1 голос
/ 25 сентября 2011

У меня есть такая настройка.

  1. Репозиторий SVN
  2. Живой сайт
  3. Сайт разработчика
  4. Локальная копия

Репозиторий SVN идентичен живому сайту.Каждый сайт имеет свой конфигурационный файл local.xml.Некоторые клиенты - это windows / toitoise, а некоторые клиенты - серверы linux, к которым у меня есть доступ по SSH.

Мои требования.

  1. Я не хочу, чтобы local.xmlне должны быть изменены ни в A. Репозиторий при фиксации, ни в B. клиенты при обновлении.

  2. Я хочу, чтобы local.xml был частью каждой новой проверки.

  3. Я не хочу, чтобы файлы local.xml на клиентах оставались «измененными» со знаками вопросительного знака после изменения.

  4. Я не хочу вручную снимать флажок с local.xml при каждом коммите, так как есть еще несколько папок, таких как кеш и файлы изображений, которые тоже нужно «игнорировать».

Я пробовал, - Блокировка файла в репо.Это приводит к ужасной ошибке при совершении.Боюсь, это нарушит остальные коммиты.- SVN: игнорировать local.xml.Но, похоже, все еще проходит.

Спасибо за вашу помощь.

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

Я думаю, я вижу, что вы хотите. Правильный способ сделать это, имея процесс сборки .

В вашем хранилище у вас будет файл local.template.xml и файл local.properties.template. Нет файла local.xml или local.properties.

Ваши разработчики возьмут local.properties.template и создадут файл local.properties, который будет соответствовать их потребностям. Разработчики будут использовать процесс сборки , который возьмет их файл local.properties и файл local.template.xml и объединит их в файл local.xml для их использования.

Когда разработчики фиксируют свой код, они не фиксируют файл local.xml или local.properties. Поскольку их нет в репозитории, разработчики могут свободно обновлять свой рабочий каталог, не беспокоясь о том, что он каким-то образом уничтожит их настройки в файле local.xml.

И вы можете без проблем развертывать на сервере, поскольку новый выпуск не будет перезаписывать файл local.xml сервера.

Вам нужен хук перед фиксацией, который может гарантировать, что разработчики не добавят local.xml или local.properties в репозиторий. У меня есть one , который довольно прост в установке и использовании. Он использует контрольный файл , чтобы указать, какие файлы могут быть добавлены и кем.

1 голос
/ 25 сентября 2011

Наличие файла в списке игнорирования необходимо, но оно само по себе не поможет. Вам также необходимо удалить файл из хранилища. Запустите это, чтобы удалить файл из SVN, но сохраните локальный файл:

svn rm --keep-local local.xml
svn commit

РЕДАКТИРОВАТЬ: Обычный способ сохранить локальные файлы настроек в SVN - добавить их с именами, такими как default.local.xml, скопировать их в local.xml и изменить настройки сразу после первой проверки. Таким образом, вы не рискуете перезаписать конфликтующие ваши фактические файлы настроек.

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