Web Analytics

gfold

⭐ 378 stars French by nickgerace

gfold

latest release tag crates.io version build status calver

gfold est un outil en ligne de commande qui vous aide à suivre plusieurs dépôts Git.

Un GIF montrant gfold en action

Si vous préférez utiliser le mode d'affichage classique par défaut, et éviter de définir l'option à chaque fois, vous pouvez la configurer dans le fichier de configuration (voir la section Usage).

Annonce (février 2025)

Toutes les versions suivent désormais le schéma de versionnage CalVer, à partir de 2025.2.1. Ce changement est compatible à la fois en avant et en arrière avec le schéma de versionnage Semantic Versioning, utilisé depuis la première version jusqu'à la version 4.6.0.

Aucune action de la part de l'utilisateur final n'est requise spécifiquement pour ce changement de schéma de versionnage.

Cette annonce sera finalement retirée de ce README et sera déplacée dans le CHANGELOG.

Description

Cette application affiche des informations pertinentes pour plusieurs dépôts Git dans un ou plusieurs répertoires. Elle ne fait que lire le système de fichiers et n'écrit jamais dedans. Bien que cet outil puisse sembler limité en portée et en but, cela est intentionnel.

Par défaut, gfold examine chaque dépôt Git via une traversée depuis le répertoire de travail courant. Si vous souhaitez cibler un autre répertoire, vous pouvez passer son chemin (relatif ou absolu) en premier argument ou changer le chemin par défaut dans le fichier de configuration.

Après la traversée, gfold utilise rayon pour effectuer une analyse concurrente en lecture seule de tous les dépôts Git détectés. L'analyse est réalisée en utilisant la bibliothèque git2-rs.

Usage

Fournissez l'option -h/--help pour voir toutes les options d'utilisation de cette application.

# Operate in the current working directory or in the location provided by a config file, if one exists.
gfold

Operate in the parent directory.

gfold ..

Operate in the home directory (first method).

gfold $HOME

Operate in the home directory (second method).

gfold ~/

Operate with an absolute path.

gfold /this/is/an/absolute/path

Operate with a relative path.

gfold ../../this/is/a/relative/path

Operate with three paths.

gfold ~/src ~/projects ~/code

Fichier de configuration

Si vous vous retrouvez à fournir fréquemment les mêmes arguments, vous pouvez créer et utiliser un fichier de configuration. gfold n’est pas livré avec un fichier de configuration par défaut et les fichiers de configuration sont entièrement optionnels.

Comment cela fonctionne-t-il ? Lors de l’exécution, gfold recherchera un fichier de configuration aux emplacements suivants (dans l’ordre) :

$XDG_CONFIG_HOME fait référence à la variable d’environnement littérale XDG_CONFIG_HOME, mais utilisera par défaut le chemin spécifique au système d’exploitation approprié si elle n’est pas définie (voir user_dirs pour plus d’informations).

Si un fichier de configuration est trouvé, gfold le lira et utilisera les options spécifiées à l’intérieur.

Pour créer un fichier de configuration, vous pouvez utiliser le flag --dry-run pour afficher un TOML valide. Voici un exemple de workflow de création de fichier de configuration sur macOS, Linux et plateformes similaires :

gfold -d classic -c never ~/ --dry-run > $HOME/.config/gfold.toml

Voici le contenu du fichier de configuration résultant :

paths = ['/home/neloth']
display_mode = 'Classic'
color_mode = 'Never'
Disons que vous avez créé un fichier de configuration, mais que vous souhaitez exécuter gfold avec des paramètres entièrement différents _et_ vous voulez vous assurer de ne pas hériter accidentellement des options du fichier de configuration. Dans ce cas, vous pouvez ignorer votre fichier de configuration en utilisant l’option -i.

gfold -i

Vous pouvez restaurer le fichier de configuration à ses valeurs par défaut en utilisant le même indicateur.

gfold -i > $HOME/.config/gfold.toml

De plus, vous pouvez ignorer le fichier de configuration existant, configurer des options spécifiques et utiliser les valeurs par défaut pour les options non spécifiées, le tout en une seule fois. Voici un exemple où nous voulons utiliser le mode d'affichage classique et remplacer tous les autres paramètres par leurs valeurs par défaut :

gfold -i -d classic > $HOME/.config/gfold.toml

Vous pouvez sauvegarder un fichier de configuration et suivre son historique avec git. Sur macOS, Linux et la plupart des systèmes, vous pouvez lier le fichier à un dépôt git.

ln -s /gfold.toml $HOME/.config/gfold.toml

Vous pouvez maintenant mettre à jour le fichier de configuration dans votre dépôt et inclure le lien dans votre flux de configuration de l’environnement.

Installation

Statut du packaging

Homebrew (macOS et Linux)

Vous pouvez utiliser Homebrew pour installer gfold en utilisant la formule core.

Cependant, vous pouvez rencontrer un conflit de nommage sur macOS si coreutils est installé via brew. Consultez la section dépannage pour une solution et plus d’informations.

brew install gfold

Arch Linux

Vous pouvez utiliser pacman pour installer gfold depuis le dépôt extra.

pacman -S gfold

Nix et NixOS

Vous pouvez installer gfold depuis nixpkgs :

nix-env --install gfold

Si vous utilisez flakes, vous pouvez installer en utilisant directement la commande nix.

nix profile install "nixpkgs#gfold"

Cargo

Vous pouvez utiliser cargo pour installer la crate sur presque toutes les plateformes.

cargo install gfold
Utilisez le drapeau --locked si vous souhaitez que Cargo utilise Cargo.lock.

cargo install --locked gfold

Maintenir la crate à jour est facile avec cargo-update.

cargo install cargo-update
cargo install-update -a

Télécharger un binaire

Si vous ne souhaitez pas utiliser l'une des méthodes d'installation ci-dessus et ne voulez pas cloner le dépôt, vous pouvez télécharger un binaire depuis la page releases. Pour un exemple sur la façon de procéder, consultez le guide installation manuelle.

Compiler depuis les sources

Si vous souhaitez un exemple sur la façon de compiler depuis les sources, consultez le guide installation manuelle.

Obsolète : Tap Homebrew (macOS uniquement)

Le tap situé à nickgerace/homebrew-nickgerace a été abandonné. Veuillez utiliser le paquet Homebrew core mentionné ci-dessus à la place.

Méthode d'installation préférée non listée ?

Veuillez ouvrir une issue !

Compatibilité

gfold est destiné à être exécuté sur _n'importe quelle_ cible Rust 🦀 de niveau un. Veuillez ouvrir une issue si votre plateforme n'est pas prise en charge.

Dépannage et problèmes connus

Si vous rencontrez un comportement inattendu ou un bug et souhaitez voir plus de détails, veuillez exécuter avec une verbosité accrue.

gfold -vvv

Si le problème persiste, veuillez signaler un problème. Veuillez joindre les journaux pertinents de l'exécution avec _les parties sensibles masquées_ afin d'aider à résoudre votre problème.

Collision Coreutils sur macOS

Si fold de GNU Coreutils est installé sur macOS via brew, il sera nommé gfold. Vous pouvez éviter cette collision avec des alias shell, des fonctions shell, et/ou des modifications du PATH. Voici un exemple avec le o retiré de gfold :

alias gfld=$HOME/.cargo/bin/gfold

Communauté

Pour plus d'informations et pour remercier les utilisateurs ainsi que la "communauté" au sens large, veuillez consulter le fichier COMMUNITY THANKS.

--- Tranlated By Open Ai Tx | Last indexed: 2026-01-04 ---