Что дано
Допустим, у меня есть стандартное рабочее пространство с поддержкой 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 *
.Может я ошибаюсь и что-то упустил вряд ли.Поэтому я с удовольствием приму любой отзыв.
С уважением!
Обновления
- Вы можетене сохранять неотслеживаемую версию отслеживаемого файла 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
вручную.