Files
ksef-pdf-generator/git-init.sh

112 lines
3.1 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Skrypt commitowania projektu na Gitea
# Użycie: ./git-init.sh [gitea_user] [gitea_password] [gitea_repo]
set -e
# set -x # Odkomentuj dla debugowania
# Parametry
GITEA_USER="${1:-ms}"
GITEA_PASS="${2:-}"
GITEA_REPO="${3:-ksef-pdf-generator}"
GITEA_HOST="10.1.1.1:30008"
GITEA_URL="https://${GITEA_USER}:${GITEA_PASS}@${GITEA_HOST}/${GITEA_USER}/${GITEA_REPO}.git"
GITEA_URL_DISPLAY="https://${GITEA_HOST}/${GITEA_USER}/${GITEA_REPO}.git"
# Kolory
YELLOW='\033[1;33m'
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m'
# Sprawdzenie hasła
if [ -z "$GITEA_PASS" ]; then
echo -e "${RED}❌ Error: Gitea password required${NC}"
echo "Użycie: ./git-init.sh [user] [password] [repo]"
echo ""
echo "Przykład: ./git-init.sh ms YOUR_PASSWORD ksef-pdf-generator"
exit 1
fi
echo -e "${YELLOW}🚀 Git initialization for Gitea${NC}"
echo "Host: https://${GITEA_HOST}"
echo "User: ${GITEA_USER}"
echo "Repo: ${GITEA_REPO}"
echo ""
# Krok 1: Konfiguracja git (ignorowanie cert dla self-signed)
echo -e "${YELLOW}1⃣ Configuring git...${NC}"
git config --global http.sslVerify false
git config user.name "Mirek SIC"
git config user.email "mirek@sic.pl"
git config --global credential.helper store # Cache credentials
echo -e "${GREEN}✓ Git configured${NC}"
echo ""
# Krok 2: Inicjalizacja repozytorium
echo -e "${YELLOW}2⃣ Initializing repository...${NC}"
if [ ! -d ".git" ]; then
git init
git checkout -b main
else
echo "Repository already initialized"
fi
echo -e "${GREEN}✓ Repository ready${NC}"
echo ""
# Krok 3: Dodanie remote
echo -e "${YELLOW}3⃣ Adding remote origin...${NC}"
if git remote | grep -q origin; then
echo "Removing existing origin..."
git remote remove origin
fi
# Używaj URL z hasłem dla push, ale wyświetlaj bez hasła
git remote add origin "$GITEA_URL"
echo -e "${GREEN}✓ Remote added: $GITEA_URL_DISPLAY${NC}"
echo ""
# Krok 4: Stage i commit
echo -e "${YELLOW}4⃣ Staging and committing...${NC}"
git add .
git commit -m "Initial commit: KSEF PDF Generator from GitHub" --allow-empty || true
echo -e "${GREEN}✓ Changes committed${NC}"
echo ""
# Krok 5: Push do Gitea (z timeout)
echo -e "${YELLOW}5⃣ Pushing to Gitea...${NC}"
echo "Uwaga: pierwsze push może potrwać kilka sekund..."
if timeout 60 git push -u origin main 2>&1; then
echo -e "${GREEN}✓ Push successful${NC}"
echo ""
echo -e "${GREEN}✅ Git setup complete!${NC}"
echo ""
echo "Repository: $GITEA_URL_DISPLAY"
echo ""
echo "Dalsze komendy:"
echo " git status"
echo " git log --oneline"
echo " git push origin main"
echo " git pull origin main"
else
EXIT_CODE=$?
echo ""
if [ $EXIT_CODE -eq 124 ]; then
echo -e "${RED}❌ Error: Push timeout (60 sekund)${NC}"
else
echo -e "${RED}❌ Error: Push failed (exit code: $EXIT_CODE)${NC}"
fi
echo ""
echo "Debug info:"
echo " URL: $GITEA_URL_DISPLAY"
echo " User: $GITEA_USER"
echo ""
echo "Opcje debugowania:"
echo " GIT_TRACE=1 ./git-init.sh $GITEA_USER $GITEA_PASS $GITEA_REPO"
echo " git remote -v"
echo " git log --oneline"
exit 1
fi
echo " git push origin main"
echo " git pull origin main"