smc

Présentation

Utilitaire pour sauvegarder du code ou tout autres types de fichiers.

Utilisation

Configuration

Créer un fichier de configuration smc.toml.

[profiles]
[profiles.toto]             # Nom du profil
paths = ["./"]              # Dossiers à inclure
files = ["./"]              # Fichiers à inclure
output = "/tmp"             # Fichier ou dossier de destination (par défaut : "./${SAVE_DIR}_${TIME}${EXT}")
hidden = true               # Sauvegarde ausse les dossiers et fichiers cachés (par défaut : false)
gitignore = true            # Suis gitignore (par défaut : true)
container = "Zip"           # Conteneur [None, Zip, SevenZip, Tar] (par défaut : Zip)
compression = "Bzip2"       # Compression si possible [None, Deflate, Bzip2, Bzip3, Zstd, Gzip, Xz] (par défaut : Deflate)
compression_level = 9       # Niveau de compression si possible 
directory = "."             # Dossier courant (par défaut : ".")
signatures = ["Sha256"]     # Signatures à générer [Blake3, Sha256, Sha384, Sha512, Sha3_256, Sha3_384, Sha3_512, Minisign, OpenPGP]
all_signature = ["Sha256"]  # Signatures à générer [Blake3, Sha256, Sha384, Sha512, Sha3_256, Sha3_384, Sha3_512] pour tous les fichiers
ignore = ["Cargo.*"]        # Fichiers à ignorer
whitelist = [".gitignore"]  # Liste blanche des fichiers
metadata = true             # Écrire les métadonnées dans le conteneur de sortie (par défaut : false)
destination = "my_test"     # Spécifier une destination pour tous les fichiers dans le conteneur de sortie

Les variables suivantes peuvent être utilisées dans output et save_dir en utilisant $VAR ou ${VAR} :

Nom Valeu
CURRENT_DIR Répertoire courant
TIME Date et heure courante
SAVE_DIR Répertoire à sauvegarder
TMP Répertoire tempoarire
EXT Extension de fichier du conteneur
GIT_COMMIT_HASH Git commit hash
GIT_FULL_COMMIT_HASH Git commit hash complet
GIT_BRANCH Git branch
GIT_TAG Dernier tag git

Lancement

Exécuter smc avec les profils à utiliser en arguments : smc profile_name.

Plusieurs profils peuvent être utilisés. Dans ce cas, tous les fichiers seront insérés dans le conteneur du premier profile.

Des arguments en ligne de commande peuvent être utilisés pour modifier le premier profile.

Téléchargement

Windows

Un binaire est disponible que vous pouvez vérifier avec sa somme de contrôle sha512 ou sa signature minisign ou PGP.

Linux

Un binaire est disponible que vous pouvez vérifier avec sa somme de contrôle sha512 ou sa signature minisign ou PGP.

Le logiciel est aussi disponible sous AUR.

Autres

Il peut s’installer depuis les sources avec cargo install save_my_code (nécessite d’avoir un compilateur rust installé).

Code source

Le code source est disponible sur mon dépôt git sous licence MIT.