Skip to main content

Add your description here

Project description

Glsync

Gestionnaire d'arborescence de projets GitLab permettant de cloner des projets et d'analyser l'état des branches et des modifications.

Installation

Installez les dépendances :

pip install -r requirements.txt

Configuration

  1. Créez un fichier creds.json basé sur creds.json.example :
{
  "https://gitlab.com": "votre_token_gitlab_ici",
  "https://privateinstance.com": "autre_token_ici"
}

Format :** Le fichier creds.json est un objet JSON où chaque clé est l'URL d'une instance GitLab et la valeur est le token d'accès correspondant. Cela permet de gérer plusieurs instances GitLab avec des tokens différents.

Pour obtenir un token GitLab :

  • Allez dans GitLab > Settings > Access Tokens
  • Créez un token avec les permissions read_api (pour lister les projets) et read_repository

Utilisation

Cloner des projets

Le programme récupère automatiquement la liste des projets depuis l'API GitLab d'un groupe/namespace :

python gitlab_manager.py clone https://gitlab.com/organisation/example

Le programme :

  1. Appelle l'API GitLab pour récupérer tous les projets du groupe/namespace
  2. Clone chaque projet via SSH dans le répertoire ./repos par défaut
  3. Préserve l'arborescence GitLab : la structure des groupes est reproduite localement (ex: repos/organisation/example/projet)
  4. Inclut automatiquement les sous-groupes (include_subgroups=true)

Important :

  • Le token GitLab dans creds.json doit avoir les permissions read_api pour lister les projets
  • Les projets sont clonés via SSH (format git@gitlab.com:user/repo.git)
  • Assurez-vous d'avoir configuré vos clés SSH avec GitLab

Analyser les dépôts

Pour analyser tous les dépôts dans le répertoire de base :

python gitlab_manager.py analyze

Pour analyser un dépôt spécifique :

python gitlab_manager.py analyze --repo ./repos/mon-projet

Fonctionnalités

  • ✅ Clonage de projets GitLab via SSH (pas d'OAuth ni d'HTTP)
  • ✅ Liste des branches locales et distantes
  • ✅ Détection des branches manquantes (uniquement distantes)
  • ✅ Détection des branches uniquement locales
  • ✅ Analyse de la synchronisation des branches (en avance, en retard, divergées)
  • ✅ Détection des fichiers non commités

Note : Pour utiliser SSH, assurez-vous d'avoir configuré vos clés SSH avec GitLab.

Options

  • --creds FILE : Spécifier le fichier de credentials (défaut: creds.json)
  • --base-dir DIR : Spécifier le répertoire de base pour les dépôts (défaut: ./repos)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glsync-0.0.1.tar.gz (2.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glsync-0.0.1-py3-none-any.whl (2.1 kB view details)

Uploaded Python 3

File details

Details for the file glsync-0.0.1.tar.gz.

File metadata

  • Download URL: glsync-0.0.1.tar.gz
  • Upload date:
  • Size: 2.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for glsync-0.0.1.tar.gz
Algorithm Hash digest
SHA256 22a746cc39329abeefe5ad2e3ffc783e34bb770e4d5966d1c3725e3dd8ae6a32
MD5 a768ea162ae15c1602d8943668fa381d
BLAKE2b-256 e3a5d2d43ce122e69db7afd3eabd00ce7707027d6ebb8ddf3213ba03f6887208

See more details on using hashes here.

File details

Details for the file glsync-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: glsync-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 2.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for glsync-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ccfd3f046dfd1d8c5caf803b61b225c82e4779200bcc1167435cbfd392e94525
MD5 a6d86547b6725e624b7624f86db10905
BLAKE2b-256 cb94cfd841204baf032f126247dc801f34de88d1bf638986b60bd61897616b6b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page