LINUX.ORG.RU

Как пользоваться классом git-r3?

 ,


0

1

В генте есть документация к функциям класса, но нехватает некоего руководства (или GLEP?) на тему того, как эти функции использовать.

1) Известно, что Gentoo гордится тем, что в случае отключения от интернета архивы с исходными текстами всего установленного остаются у пользователя. В случае с классом git-r3 предлагается локация по-умолчанию:
EGIT3_STORE_DIR=${DISTDIR}/git3-src

Но при этом возникают вопросы: в git существует режим "bundle", используется ли он в этом случае или нет, и почему нет?

2) вот этот репозиторий в distfiles, он должен быть bare, mirror, snapshot или какой? какой рекомендуется делать?
Когда создаётся рабочая директория в src_unpack, то репозиторий клонируется? Почему нигде не сказано, что хорошо бы располагать рабочую директорию на том же разделе, что и DISTDIR, так как в этом случае git будет использовать хардлинки, что увеличит скорость?
а зачем вообще в рабочей директории делать ещё один репозиторий, если можно вынуть исходные тексты не создавая директорию .git при помощи команд вида
git --git-dir=<localgitdir> --work-tree=firstcopy checkout -f branch1
git --git-dir=<localgitdir> --work-tree=secondcopy checkout -f branch2

3) допустим, что репозиторий в WORKDIR делается в предположении, что если билд не соберётся, то там будет идти разработка и отладка.
Почему тогда директория, в которую предлагается устанавливать исходники для отладки отличается (из-за того, что при успешной сборке WORKDIR по-умолчанию стирается)?

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

3) клонируемый в DISTDIR репозиторий НЕ ПРЕДНАЗНАЧЕН для разработки в нём же, такой цели никогда не ставилось!
1, 2) ответы на эти вопрос содержится в самом git-r3 - создается bare репозитарий и по умолчанию делается клон отдельной ветки. Переключить режим можно с помощью EGIT_CLONE_TYPE

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

Разрабатываешь в отдельном репозитарии (/home/user/dev/software), в ебилде пишешь путь к нему же в EGIT_SRC_URI и не заморачиваешься(да, git-у можно скармливать не только ссылки вида git:// и https://). Репозитарий в ${DISTDIR} - он служебный, для целей пакетного менеджера. В нём пользователю нужно вести какую-то работу ТОЛЬКО если пакетный менеджер делает что-то не так.

Если нужно отключить скачивание из интернета - для этого есть EGIT_MIRROR_URI.

Но тогда зеркалирование интересующих тебя репозитариев туда - это твоя проблема, portage тут не при чём.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte

не только я читаю через жопу!

написано: «репозиторий в WORKDIR делается в предположении»
коментируют: «в DISTDIR репозиторий НЕ ПРЕДНАЗНАЧЕН»

Ну видно же, что WORKDIR это не DISTDIR, не?

Shushundr ★★★
() автор топика
Ответ на: комментарий от Shushundr

А зачем ты, прости господи, делаешь репозиторий в WORKDIR? Мне кажется что ты что-то делаешь не так и у нас тут «проблема XY». Опиши не что ты делаешь, а чего ты хочешь добиться в результате.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.