112 lines
3.1 KiB
Bash
Executable File
112 lines
3.1 KiB
Bash
Executable File
#!/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"
|