From f07d0ab45d50eca132cf4bb1ba0147d021634142 Mon Sep 17 00:00:00 2001 From: juanlf Date: Sat, 28 Mar 2026 11:46:07 +0000 Subject: [PATCH] Subir archivos a "/" --- crea_repo.bash | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 crea_repo.bash diff --git a/crea_repo.bash b/crea_repo.bash new file mode 100644 index 0000000..f9fcb6c --- /dev/null +++ b/crea_repo.bash @@ -0,0 +1,86 @@ +#!/usr/bin/env bash +set -euo pipefail + +# ========= CONFIG ========= +BASE_DIR="/Users/juanlopezfernandez/Library/CloudStorage/OneDrive-Telefonica/PENTAHO" +GITEA_URL="https://gitea.juanlf.synology.me" +GITEA_USER="juanlf" +GITEA_TOKEN="2d94110d5976464c3c363ad7688095a78e92d7ed" +GITEA_ORG="PENTAHO" # si quieres crearlos en una organización, pon su nombre. Si no, déjalo vacío. +DEFAULT_BRANCH="main" +# ========================== + +create_repo() { + local repo_name="$1" + + if [[ -n "$GITEA_ORG" ]]; then + curl -sS -X POST \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: application/json" \ + "$GITEA_URL/api/v1/orgs/$GITEA_ORG/repos" \ + -d "{\"name\":\"$repo_name\",\"private\":true,\"default_branch\":\"$DEFAULT_BRANCH\"}" >/dev/null + else + curl -sS -X POST \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: application/json" \ + "$GITEA_URL/api/v1/user/repos" \ + -d "{\"name\":\"$repo_name\",\"private\":true,\"default_branch\":\"$DEFAULT_BRANCH\"}" >/dev/null + fi +} + +repo_exists() { + local repo_name="$1" + + if [[ -n "$GITEA_ORG" ]]; then + curl -sS \ + -H "Authorization: token $GITEA_TOKEN" \ + "$GITEA_URL/api/v1/repos/$GITEA_ORG/$repo_name" | grep -q "\"name\":\"$repo_name\"" + else + curl -sS \ + -H "Authorization: token $GITEA_TOKEN" \ + "$GITEA_URL/api/v1/repos/$GITEA_USER/$repo_name" | grep -q "\"name\":\"$repo_name\"" + fi +} + +remote_url() { + local repo_name="$1" + if [[ -n "$GITEA_ORG" ]]; then + echo "$GITEA_URL/$GITEA_ORG/$repo_name.git" + else + echo "$GITEA_URL/$GITEA_USER/$repo_name.git" + fi +} + +for dir in "$BASE_DIR"/*; do + [[ -d "$dir" ]] || continue + + repo_name="$(basename "$dir")" + echo "Procesando: $repo_name" + + if [[ ! -d "$dir/.git" ]]; then + git -C "$dir" init -b "$DEFAULT_BRANCH" + fi + + if ! repo_exists "$repo_name"; then + echo " Creando repo en Gitea..." + create_repo "$repo_name" + else + echo " El repo ya existe en Gitea" + fi + + if ! git -C "$dir" remote get-url origin >/dev/null 2>&1; then + git -C "$dir" remote add origin "$(remote_url "$repo_name")" + else + echo " origin ya existe" + fi + + git -C "$dir" add . + + if ! git -C "$dir" diff --cached --quiet || ! git -C "$dir" diff --quiet; then + git -C "$dir" commit -m "Initial import" || true + fi + + git -C "$dir" push -u origin "$DEFAULT_BRANCH" || true + + echo " OK" +done