Citadel
Versioning sans perte : un dépôt .citadel, l'annulation de toute opération, la fusion à trois voies et les conflits
conservés comme données. Même logique et même syntaxe que les commandes de dépôt de nxs ; la seule différence est la
création : citadel init (au lieu de nxs repo -i). Le paquet est construit comme nexus_project (zpp_args, impmagic,
zpp_config, zpp_color) et ne dépend pas de lui.
pip install .
citadel init
citadel commit -m "premier"
Commandes
| Commande | Rôle |
|---|---|
init |
créer un dépôt dans le dossier courant |
status, log [-o] [-a] [-n N], diff [A [B]], show REV[:chemin], tree [-C rev] [-s] [chemin] |
consulter |
commit -m MSG |
valider le travail en cours (rien à valider : simple message) |
branch [-a NOM] [-d NOM] [-r ANCIEN NOUVEAU] [-S branche] [-C rev] |
lister, créer, supprimer, renommer |
switch [-c] [-f] NOM / merge [--no-ff] [-D dest] BRANCHE |
changer de branche, fusionner |
restore FICHIER... [-C rev] [-d dest] |
restaurer depuis une révision |
tag [NOM [REV]] |
créer ou lister les tags |
undo [--to ID], oplog [-a] |
annuler (un undo de l'undo refait), journal des opérations |
conflicts, conflict show|edit CHEMIN, resolve CHEMIN --ours|--theirs|--base |
conflits |
track CHEMIN... |
suivre un fichier au-delà de la limite de taille |
repo gc|fsck|info|config [CLE [VALEUR]], repo --purge [-y] |
maintenance et réglages du dépôt |
config [CLE [VALEUR]] |
configuration de citadel (comme nxs config) |
-n/--dry-run simule (rien n'est écrit) sur les commandes qui modifient le dépôt. -C désigne toujours une révision, -c crée.
Configuration (citadel config)
Fichier ~\AppData\Local\Citadel\.config\citadel.yml (Windows) ou ~/.config/Citadel/.config/citadel.yml, créé au premier
lancement (variable CITADEL_CONFIG pour en choisir un autre). Sans argument la commande liste les réglages ; avec une clé
booléenne elle la bascule ; avec une clé et une valeur elle l'écrit.
| Clé | Rôle |
|---|---|
logs.display, logs.date, logs.truecolor |
affichage des messages |
repo.auto_max_mb |
taille au-delà de laquelle un fichier n'est pas capturé automatiquement (défaut 10) |
repo.secret_patterns |
motifs de fichiers ignorés comme secrets (séparés par des virgules) |
repo.rename_threshold_pct |
ressemblance minimale pour proposer un renommage (défaut 60) |
repo.retention_days |
durée de conservation des états de travail automatiques (défaut 30) |
repo.user |
auteur des commits, « Nom » (sinon variable CITADEL_USER) |
repo.ignore |
motifs ignorés en plus de .citadelignore, séparés par des virgules |
Les clés repo.* (sauf ignore, appliquée à chaque ouverture) sont copiées dans un dépôt au moment de sa création :
ensuite chaque dépôt garde les siennes, modifiables avec citadel repo config.
Format
Le dossier .citadel est le même que celui de nxs (implémentation Rust et paquet nexus_project) : un dépôt créé par l'un se
lit avec l'autre. Empreintes SHA-256, segments compressés en zstd, gros fichiers en morceaux de 4 Mio. Règles d'exclusion :
.citadelignore ; les fichiers qui ressemblent à des secrets (.env, *.pem…) sont ignorés par défaut.
Utilisation en bibliothèque
from citadel import open_repo
repo = open_repo(".", create=True) # CitadelBackend
repo.commit("message")
Tests
python -m unittest discover -s tests
Metadata
Release files for citadel_project 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| citadel_project-0.1.0.tar.gz | 54.8 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| citadel_project-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.8 kB
Release files / citadel_project-0.1.0.tar.gz
| Download URL | citadel_project-0.1.0.tar.gz |
|---|---|
| Size | 54.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
488b1f75c9aa820073706a49fc7be8090e36a187f761ba4c48ac418001b0204e
|
|
BLAKE2b-256 checksum How to use checksums |
7bbe813e7ef28208194f6ac3f0c610b26700fad537f7db207b35f087776e5c49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
nexus/2.0.0 CPython/3.13.11 Windows/11
|
Release files / citadel_project-0.1.0-py3-none-any.whl
| Download URL | citadel_project-0.1.0-py3-none-any.whl |
|---|---|
| Size | 56.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1179741a4369c0f919e497a944a3f75266a073dfb127f4242dbec067ea6dffc
|
|
BLAKE2b-256 checksum How to use checksums |
a7e70cacfc637cccd4157b78661dce7d4b4b69033812bc19512b487c430b496d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
nexus/2.0.0 CPython/3.13.11 Windows/11
|
Security for citadel_project 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.