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

Le fichier de configuration se trouve dans $HOME/.config/glsync/config.json.

Créez ce fichier (et le répertoire ~/.config/glsync/ si besoin) avec la structure suivante :

{
    "tokens": {
        "https://gitlab.com": "votre_token_gitlab_ici",
        "https://privateinstance.com": "autre_token_ici"
    },
    "default": {
        "gitlab_url": "https://gitlab.com/user/namespace",
        "base_dir": "$HOME/Repositories"
    }
}
  • tokens : chaque clé est l’URL d’une instance GitLab, la valeur est le token d’accès. Permet de gérer plusieurs instances.
  • default (optionnel) : base_dir est le répertoire de base pour les dépôts ($HOME est développé) ; gitlab_url peut servir de référence.

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 :

glsync 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 config.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 : Fichier de configuration (défaut: ~/.config/glsync/config.json)
  • --base-dir DIR : Répertoire de base pour les dépôts (défaut: depuis config ou ./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.4.tar.gz (15.2 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.4-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: glsync-0.0.4.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.4.tar.gz
Algorithm Hash digest
SHA256 443be92119f2c7fadbe70c3cab6f98db63bd78f49f376aca825f43e037dad2f3
MD5 5e23f7d9f6e113ea45a99ec6049b9a21
BLAKE2b-256 3f5e4ac9580a84887e614d1a3a122a9ff6aff3754059b1403c69ece009458a65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: glsync-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 775dac57a7f565fd978ba43aa8c87e2456ab274219a82b399671081feaace8e8
MD5 2635241302d489132f9da2150853aa20
BLAKE2b-256 ff35e99a9a8a5f5a5c4ccd62cf8450730a5e3a50b75d1893f28614c4d92a79f5

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