Я хочу сделать ветвь проекта, состоящего из нескольких репозиториев .git, переместив их все в разные (локальные) репозитории, но сохранив точно такой же набор веток и тегов для каждого отдельного репозитория git.
Этот проект изначально загружен с использованием инструмента «РЕПО».Существует файл manifest.xml, описывающий расположение каждого отдельного репозитория .git, загруженный с помощью repo init, а затем синхронизирующий репозиторий клонирует все репозитории git.
В этом примере я буду использовать bitbucket.com, но нене фокусирую внимание на bitbucket, это всего лишь пример.
Вот шаги, которые я делаю сейчас:
Создание пустого хранилища manifest.git в bitbucket,Затем:
cd existing-manifest.git
git remote set-url origin ssh://git@bitbucket.com/project/manifest.git
git push -u origin --all
git push origin --tags
Создайте набор репозиториев git вручную внутри bitbucket.Затем:
#! /bin/sh
for LINE in $(repo forall -c 'echo ${REPO_PROJECT}":"${REPO_PATH}')
do
REPO_PROJECT=$(echo $LINE | cut -f 1 -d ":")
REPO_PATH=$(echo $LINE | cut -f 2 -d ":")
pushd $REPO_PATH
git remote add origin ssh://git@bitbucket.com/project/${REPO_PROJECT}.git
git push -u origin --all
git push origin --tags
popd
done
После этого отредактируйте вручную файл manifest.xml, чтобы сменить пульт по умолчанию для каждого проекта, и зафиксируйте новый файл manifest.xml в моем настраиваемом репо.
Это очень ручной процесс, не очень дружелюбный.Итак, мои вопросы:
- Можно ли каким-то образом улучшить этот процесс?
- Возможно ли просто с помощью инструмента "РЕПО"?