Obtenir de l'aide et les informations de version

Traduction automatique provisoire, non révisée. En cas de doute, consultez la version anglaise, qui fait foi.

Kent répond à deux questions sans toucher à la moindre base de données : que sait-il faire, et quelle version est-il.

kent help et kent --help

Les deux listent chaque commande et chaque option avec une description d'une ligne de ce qu'elle fait, et la sortie est identique dans les deux cas. Tapez celui qui vous vient le plus naturellement.

$ kent help
kent works with Cordelia databases from the command line.

Usage:

    kent <command> [arguments]

The commands are:

    help
        print this message
    createdb <dbfilename>
        create an empty database, stamped with the schema version this build expects
    info <dbfilename>
        report the schema version and a row count for each table that holds rows
    details <dbfilename>
        as info, plus the tables it leaves out and the file's own attributes
    files <dbfilename>
        list the .FIT files the database was built from
    activities <dbfilename>
        list each recorded activity with its dates and sport
    sports <dbfilename>
        list the distinct sports and sub-sports present in the database
    verify <dbfilename>
        check the database's structure against the schema this build creates
    sqldump --in <dbfilename> [--out <outfile>] [--schema-only]
        write the database out as SQL that recreates it when replayed
    archive --in <dbfilename> --out <archive>
        write the database to a .kent archive, for other tools to read
    restore --in <archive> --out <dbfilename>
        rebuild a database from a .kent archive

The flags are:

    --version
        print kent's version, and the version of each library it was built against
    --devinfo
        the same, with each build's commit hash; quote this in a defect report
    --help
        print this message
    --license
        print the licence kent is distributed under
    --privacy
        print kent's privacy policy

See "man kent" for the full description of any command.

Ce listage est tout ce que Kent sait faire. Ce qui n'y figure pas n'est pas une commande que Kent comprend. Voir Messages d'erreur et codes de sortie pour ce qui se passe quand on en essaie une, et le Plan de produit pour ce qui pourra être ajouté plus tard.

C'est aussi le listage auquel se fier plutôt qu'à cette page. Kent le génère à partir de sa propre table de commandes, il ne peut donc pas décrire une commande que Kent n'a pas.

kent --version

Affiche la version de Kent lui-même, puis une ligne par bibliothèque intégrée. Kent utilise le code de base de données de Cordelia, une couche SQLite partagée, la bibliothèque d'archivage qu'utilisent ses fichiers .kent et une bibliothèque de base partagée. Deux d'entre elles intègrent des bibliothèques externes, et chacune est listée juste après la bibliothèque qui l'intègre : SQLite après la couche SQLite, et les deux bibliothèques de compression après la bibliothèque d'archivage.

$ kent --version
kent version 1.3.4 uses
    cordelia 1.3.3
    curan 1.0.0
    SQLite 3.53.4
    regan 1.1.0
    zlib-ng 2.3.3
    minizip-ng 4.2.2
    goneril 1.4.1

Chaque numéro provient de la compilation de son propre composant : ils évoluent indépendamment. Un Kent compilé contre une Cordelia plus récente rapporte ici cette Cordelia plus récente sans que la version de Kent change.

kent --devinfo

Affiche la même liste avec un identifiant de compilation après chaque version, qui indique exactement quelle compilation de chaque composant vous avez. Les bibliothèques externes affichent les mêmes versions que ci-dessus, car chacune est une version publiée figée.

$ kent --devinfo
kent version 1.3.4-d9c6caf76b uses
    cordelia 1.3.3-1f754c95d6
    curan 1.0.0-200cf6264e
    SQLite 3.53.4
    regan 1.1.0-4b4934c37f
    zlib-ng 2.3.3
    minizip-ng 4.2.2
    goneril 1.4.1-06a94fe891

C'est cette sortie qu'il faut citer pour signaler un problème. Voir Rapports de bogues et demandes de fonctionnalités.

kent --license et kent --privacy

Ces deux-là affichent un document et se terminent. --license affiche les conditions sous lesquelles Kent est distribué ; --privacy affiche sa politique de confidentialité, qui dit en somme que Kent n'établit aucune connexion réseau, ne collecte rien, et ne lit et n'écrit que les chemins que vous nommez sur sa propre ligne de commande.

$ kent --license | less
$ kent --privacy | less

Les deux textes sont compilés dans le programme à partir des mêmes fichiers que le projet publie : la copie qu'imprime Kent ne peut donc pas diverger de celle de ce site. Voir la Licence et la Politique de confidentialité.

Leur texte part sur la sortie standard plutôt que sur la sortie d'erreur, parce que c'est la sortie que vous avez demandée et non un diagnostic. C'est ce qui fait fonctionner le tube vers less ci-dessus.

Où va la sortie

La plupart des commandes de Kent impriment tout sur la sortie standard, messages d'erreur compris, si bien que rediriger la sortie standard vers un fichier capture une transcription complète :

$ kent info mydata.sqlite > report.txt

sqldump et archive font exception, délibérément : tout ce qu'elles impriment, erreurs comme avis, part sur la sortie d'erreur. Pour sqldump, c'est essentiel : avec --out omis, le script exporté occupe lui-même la sortie standard, et un message imprimé là s'y intercalerait silencieusement.

$ kent sqldump --in old.sqlite > old.sql   # only the script lands in the file
$ kent sqldump --in old.sqlite 2> errors.txt   # only the messages land here

Une erreur interne non gérée part elle aussi sur la sortie d'erreur, depuis n'importe quelle commande. Ajouter 2>&1 attrape tout d'un coup, ce qui vaut la peine quand vous capturez la sortie pour la joindre à un rapport de bogue.

Voir aussi