82 lines
2.2 KiB
Bash
Executable File
82 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Mundo Telecom - Atualizar repositório a partir do upstream
|
|
#
|
|
# Uso: ./update-from-upstream.sh [repo-dir]
|
|
#
|
|
# Processo:
|
|
# 1. Busca mudanças do GitHub (upstream)
|
|
# 2. Cria branch de revisão
|
|
# 3. Aplica as mudanças
|
|
# 4. Gera relatório do que mudou
|
|
# 5. (opcional) Faz merge na master
|
|
|
|
REPO_DIR="${1:-.}"
|
|
cd "$REPO_DIR"
|
|
|
|
REPO_NAME=$(basename $(git rev-parse --show-toplevel))
|
|
BRANCH="update-$(date +%Y%m%d)"
|
|
|
|
echo "============================================"
|
|
echo " 🔄 Atualizando $REPO_NAME"
|
|
echo "============================================"
|
|
|
|
# Buscar upstream
|
|
echo ""
|
|
echo "📡 Buscando atualizações do GitHub..."
|
|
git fetch upstream
|
|
|
|
# Verificar se há mudanças
|
|
BEHIND=$(git rev-list --count HEAD..upstream/master 2>/dev/null || echo 0)
|
|
|
|
if [ "$BEHIND" -eq 0 ]; then
|
|
echo "✅ Já está atualizado!"
|
|
exit 0
|
|
fi
|
|
|
|
# Criar branch de revisão
|
|
echo ""
|
|
echo "🌿 Criando branch de revisão: $BRANCH"
|
|
git checkout -b "$BRANCH" origin/master 2>/dev/null || git checkout "$BRANCH" 2>/dev/null || git checkout -b "$BRANCH"
|
|
|
|
# Merge do upstream
|
|
echo ""
|
|
echo "🔀 Aplicando mudanças do upstream..."
|
|
if git merge upstream/master --no-edit 2>&1; then
|
|
echo "✅ Merge realizado sem conflitos!"
|
|
else
|
|
echo "⚠️ HOUVE CONFLITOS! Resolva manualmente:"
|
|
echo " 1. git status (ver arquivos conflitantes)"
|
|
echo " 2. Resolver os conflitos"
|
|
echo " 3. git add . && git commit"
|
|
echo " 4. git push origin $BRANCH"
|
|
exit 1
|
|
fi
|
|
|
|
# Relatório de mudanças
|
|
echo ""
|
|
echo "📋 Resumo das mudanças:"
|
|
git diff origin/master..$BRANCH --stat
|
|
echo ""
|
|
echo "📋 Commits aplicados:"
|
|
git log origin/master..$BRANCH --oneline --no-decorate
|
|
|
|
# Push
|
|
echo ""
|
|
echo "⬆️ Enviando para o Gitea..."
|
|
git push origin "$BRANCH"
|
|
|
|
# Voltar pra master
|
|
git checkout master
|
|
|
|
echo ""
|
|
echo "============================================"
|
|
echo " ✅ Branch '$BRANCH' criada no Gitea!"
|
|
echo ""
|
|
echo " PRÓXIMOS PASSOS:"
|
|
echo " 1. Revisar as mudanças no Gitea"
|
|
echo " https://git.homelabds.com.br/diegods/$REPO_NAME"
|
|
echo " 2. Testar em ambiente de desenvolvimento"
|
|
echo " 3. Fazer merge na master quando aprovado"
|
|
echo " git checkout master && git merge $BRANCH && git push origin master"
|
|
echo "============================================"
|