Как организовать персональные настройки в рабочей среде с поддержкой git?

Что дано

Допустим, у меня есть стандартное рабочее пространство с поддержкой 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 aftwards. так что это будет игнорироваться будущим git adds.

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

#/cnf/build.bnd

-include cnf/personal.bnd

Что ты сказал?

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

С уважением!

Обновления

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

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

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

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

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

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

0 ответов

Другие вопросы по тегам