47 lines
1.2 KiB
Bash
Executable File
47 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Config
|
|
OVOS_DOCKER_DIR="../ovos-docker"
|
|
OVOS_REMOTE="ovos-docker-local"
|
|
SPLIT_BRANCH="compose-split"
|
|
PREFIX="compose"
|
|
|
|
# Clone ovos-docker if missing
|
|
if [ ! -d "$OVOS_DOCKER_DIR/.git" ]; then
|
|
echo "Cloning ovos-docker..."
|
|
git clone https://github.com/OpenVoiceOS/ovos-docker.git "$OVOS_DOCKER_DIR"
|
|
fi
|
|
|
|
# Update ovos-docker
|
|
echo "Updating ovos-docker..."
|
|
cd "$OVOS_DOCKER_DIR"
|
|
git fetch origin
|
|
git checkout dev
|
|
git pull origin dev
|
|
|
|
# Create split branch
|
|
echo "Splitting compose/ directory..."
|
|
git branch -D "$SPLIT_BRANCH" 2>/dev/null || true
|
|
git subtree split --prefix=$PREFIX origin/dev -b "$SPLIT_BRANCH"
|
|
|
|
# Go back to benedikta-ovos
|
|
cd - >/dev/null
|
|
|
|
# Add remote if not exists
|
|
if ! git remote | grep -q "$OVOS_REMOTE"; then
|
|
git remote add "$OVOS_REMOTE" "$OVOS_DOCKER_DIR"
|
|
fi
|
|
git fetch "$OVOS_REMOTE"
|
|
|
|
# Check if compose/ already exists in benedikta-ovos
|
|
if [ ! -d "$PREFIX" ]; then
|
|
echo "Adding compose/ for the first time..."
|
|
git subtree add --prefix=$PREFIX "$OVOS_REMOTE" "$SPLIT_BRANCH" --squash
|
|
else
|
|
echo "Updating existing compose/ directory..."
|
|
git subtree pull --prefix=$PREFIX "$OVOS_REMOTE" "$SPLIT_BRANCH" --squash
|
|
fi
|
|
|
|
echo "✅ compose/ is synced with ovos-docker:dev"
|