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_direst le répertoire de base pour les dépôts ($HOMEest développé) ;gitlab_urlpeut 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) etread_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 :
- Appelle l'API GitLab pour récupérer tous les projets du groupe/namespace
- Clone chaque projet via SSH dans le répertoire
./repospar défaut - Préserve l'arborescence GitLab : la structure des groupes est reproduite localement (ex:
repos/organisation/example/projet) - Inclut automatiquement les sous-groupes (
include_subgroups=true)
Important :
- Le token GitLab dans
config.jsondoit avoir les permissionsread_apipour 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
443be92119f2c7fadbe70c3cab6f98db63bd78f49f376aca825f43e037dad2f3
|
|
| MD5 |
5e23f7d9f6e113ea45a99ec6049b9a21
|
|
| BLAKE2b-256 |
3f5e4ac9580a84887e614d1a3a122a9ff6aff3754059b1403c69ece009458a65
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
775dac57a7f565fd978ba43aa8c87e2456ab274219a82b399671081feaace8e8
|
|
| MD5 |
2635241302d489132f9da2150853aa20
|
|
| BLAKE2b-256 |
ff35e99a9a8a5f5a5c4ccd62cf8450730a5e3a50b75d1893f28614c4d92a79f5
|