Как организовать персональные настройки в рабочей среде с поддержкой git? - PullRequest
0 голосов
/ 22 февраля 2019

Что дано

Допустим, у меня есть стандартное рабочее пространство с поддержкой git, например:

foo.rest.application
foo.extended.provider

И это зависит от пакетов, управляемых другим стандартом bnd.рабочее пространство:

foo.core.api
foo.core.provider

Эти необходимые пакеты публикуются в локальном хранилище OBR.

Что я ищу

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

Поэтому у меня есть отдельный foo.repo.bnd, подобный этому, в моем рабочем пространстве:

# /cnf/foo.repo.bnd

-plugin.1337.Foo: \
    aQute.bnd.deployer.repository.LocalIndexedRepo; \
        name = Foo; \
        local = /home/foo/developement/repositories/foo; \
        readOnly = true

/cnf/* (кроме cache, local, release) является частью моего репозитория, так как он содержит несколько очень полезных репозиториев ядра (репозитории OSGi enRoute в конкретной версии).

Что я подумаладо сих пор

Я смотрел некоторые проекты на github, но я обнаружил, что пока только Apache Aries содержит нечто, связанное с моей проблемой.В корне .gitignore есть правило:

#.gitignore

**/personal.bnd

Так что, похоже, что парни из Apache Aries имеют свои личные настройки в этом файле / этих файлах.

Итак, я пришел кВ заключение было бы неплохо зафиксировать пустой personal.bnd и добавить его к .gitignore в обратном направлении.поэтому он будет проигнорирован в будущем git add с.

В /cnf/build.bnd я бы включил personal.bnd:

#/cnf/build.bnd

-include cnf/personal.bnd

Что вы скажете?

Я думаю, что это самый элегантный способ до сих пор.С обновленным .gitignore Вам не нужно беспокоиться о случайном совершении вашего personal.bnd, планируя git add *.Может я ошибаюсь и что-то упустил вряд ли.Поэтому я с удовольствием приму любой отзыв.

С уважением!

Обновления

  1. Вы можетене сохранять неотслеживаемую версию отслеживаемого файла git

Если файл отслеживается с помощью git, вы просто не можете просто удалить файл из промежуточной версии.Так что мои соображения относительно пустого файла cnf/personal.bnd как фиктивного файла для личных настроек - тупик.

cnf / ext: несколько автоматически выбранных bnd файлов

Я посмотрел более подробно на каталог cnf/ext.Это, кажется, путь.Он автоматически выбирается bnd, и вы можете разделить настройки на несколько файлов .bnd.

cnf / build.bnd: место для ваших личных настроек

Это то, для чего предназначен build.bnd.Я думаю, что я должен взять их словом и удалить build.bnd из репозитория git.В предисловии я перенес все автоматически сгенерированные настройки в cnf/ext.Но у этого есть небольшой недостаток: прежде чем вы сможете построить рабочее пространство, вы должны добавить cnf/build.bnd вручную.

...