Должен ли я регистрировать настройки затмения (.settings) в SVN? - программирование
Подтвердить что ты не робот

Должен ли я регистрировать настройки затмения (.settings) в SVN?

Возможный дубликат:
Какие файлы eclipse принадлежат управлению версиями

Мы используем среду разработки Eclipse для разработки. В папке .settings всегда происходит изменение. Иногда мы настраиваем что-то в Eclipse, но обычно мы что-то меняем в Eclipse.

Eclipse изменяет настройки без каких-либо запросов от нас

Какова наилучшая практика с настройками?

Должен ли я проверить настройки eclipse (.settings) в SVN или добавить в список игнорирования?

4b9b3361

Ответ 1

Каталог .settings содержит – или, по крайней мере, должен содержать – важную информацию, необходимую для успешного создания вашего проекта внутри Eclipse, например кодировку символов, используемую для исходного кода, настройки компилятора Java и многое другое. Если вы не передадите этот каталог SCM, вы в большинстве случаев потеряете возможность проверить проект в новом рабочем пространстве и сразу же его собрать. Особенно чувствительным аспектом является точная конфигурация ошибок/предупреждений компилятора. Если разработчик настроен неправильно, последствия могут варьироваться от фрустраций неудачными сборками Eclipse для разработчиков, которые повреждают код, пытаясь "исправить" несуществующие ошибки/предупреждения.

Каждый плагин может внести свой собственный файл настроек в каталог, поэтому не стесняйтесь выбирать и игнорировать нерелевантные, сохраняя важные, например org.eclipse.jdt.core.prefs.

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

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

Ответ 2

Поскольку вы используете maven для управления своими сборками, нет необходимости размещать .settings под контролем источника.

Используя maven, вы разрешаете использовать другую среду IDE, не завися от настроек затмения.

См. также Следует ли игнорировать файлы, зависящие от Eclipse в VCS, при использовании Maven?

Ответ 4

Не нужно,

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

Настройка может быть описана в текстовых файлах

Ответ 5

Как вы используете Maven, я определенно скажу "нет". Из моего опыта работы над проектами, над которыми я работал, эти проблемы вызывают проблемы, особенно если вы сотрудничаете с людьми, имеющими разные среды (OSX/Windows/* nix, макет файловой системы).

Если вы еще не используете его, я бы рекомендовал использовать плагин Maven Eclipse (http://maven.apache.org/plugins/maven-eclipse-plugin/), чтобы автоматически создавать файлы проекта Eclipse.

Edit:

Забыл упомянуть, что, вероятно, самая большая причина, по которой я не люблю совершать какие-либо настройки/файлы проекта Eclipse, из-за беспорядка, который он добавляет к моей истории VCS. Я обнаружил, что эти файлы часто меняются, по-видимому, без причины (т.е. Изменения времени файла предпочтений) и в лучшем случае добавляют дополнительные изменения или, в худшем случае, вызывают раздражающие конфликты.

Ответ 6

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

  • Нет никакой гарантии, что кто-то совершит неправильные настройки, и все пострадают.
  • Настройки должны быть изменены при каждом изменении конфигурации.

Лучше поставить ссылку, если у кого-то нет ничего, кроме того, он может начать с нее.

Ответ 7

Прямой ответ - нет. Не потому, что этот файл в конечном итоге изменяется или нет, но репозиторий исходного кода проекта не предназначен для личных настроек файла.

Если вам действительно нужно разместить где-нибудь эти определенные файлы IDE, зарегистрируйтесь в отдельной папке SVN отдельно от проекта.