SALSA.FR(1)

NOM
salsa - outil pour gérer les projets salsa, les dépôts et les membres des groupes

SYNOPSIS
  # salsa <commande> <paramètres> <options>
  salsa add_user developer foobar --group-id 2665
  salsa delete_user foobar --group js-team
  salsa search_groups perl-team/modules
  salsa search_projects qa/qa
  salsa search_users yadd
  salsa update_user maintainer foobar --group js-team
  salsa whoami
  salsa checkout node-mongodb --group js-team
  salsa fork --group js-team user/node-foo
  salsa last_ci_status js-team/nodejs
  salsa pipelines js-team/nodejs
  salsa mr debian/foo debian/latest
  salsa push_repo . --group js-team --kgb --irc devscripts --tagpending
  salsa update_projects node-mongodb --group js-team --disable-kgb --desc \
        --desc-pattern "Package %p"
  salsa update_safe --all --desc --desc-pattern "Debian package %p" \
        --group js-team
  salsa update_watch5 debian/devscripts
  salsa update_watch5 --group js-team --all

DESCRIPTION
salsa a été conçu pour créer et configurer les dépôts de <https://salsa.debian.org> et gérer les utilisateurs et groupes.

Un jeton Salsa est nécessaire sauf pour les commandes "search*", et doit être placé dans la ligne de commande (voir ci-dessous), ou dans le fichier de configuration (~/.devscripts) :

  SALSA_TOKEN=abcdefghi

ou

  SALSA_TOKEN=`cat ~/.token`

ou

  SALSA_TOKEN_FILE=~/.dpt.conf

Si on choisit de lier un autre fichier en utilisant SALSA_TOKEN_FILE, il doit contenir une ligne avec au choix (aucune différence) :

  <anything>SALSA_PRIVATE_TOKEN=xxxx
  <anything>SALSA_TOKEN=xxxx

Ceci permet par exemple d’utiliser le fichier de configuration de dpt(1) (~/.dpt.conf) qui contient :

  DPT_SALSA_PRIVATE_TOKEN=abcdefghi

COMMANDES

  Gérer les utilisateurs et les groupes

add_user
    Ajouter un utilisateur à un groupe.

      salsa --group js-group add_user guest foouser
      salsa --group-id 1234 add_user guest foouser
      salsa --group-id 1234 add_user maintainer 1245

    Le premier argument est le niveau d’accès GitLab : guest, reporter, developer, maintainer, owner.

delete_user ou del_user
    Retire un utilisateur d’un groupe.

      salsa --group js-team delete_user foouser
      salsa --group-id=1234 delete_user foouser

join
    Demander l’accès à un groupe.

      salsa join js-team
      salsa join --group js-team
      salsa join --group-id 1234

list_groups
    Liste les groupes subordonnés si un groupe est indiqué, les groupes de l’utilisateur courant sinon.

list_users ou group
    Lister les utilisateurs d’un sous-groupe. Note : cela n’inclut pas les utilisateurs invités ou hérités.

      salsa --group js-team list_users
      salsa --group-id 1234 list_users

search_groups
    Cherche un groupe en utilisant la chaîne indiquée. Montre l’ID du groupe et d’autres informations.

      salsa search_groups perl-team
      salsa search_groups perl-team/modules
      salsa search_groups 2666

search_users
    Cherche un utilisateur en utilisant la chaîne indiquée. Montre l’ID de l’utilisateur et d’autres informations.

      salsa search_users yadd

update_user
    Met à jour le rôle d’un utilisateur dans un groupe.

      salsa --group-id 1234 update_user guest foouser
      salsa --group js-team update_user maintainer 1245

    Le premier argument est le niveau d’accès GitLab : guest, reporter, developer, maintainer, owner.

whoami
    Affiche les informations du propriétaire du jeton.

      salsa whoami

  Gérer les projets
Une seule option parmi "--group", "--group-id", "--user" et "--user-id" est nécessaire pour gérer les répertoires. Si les 2 sont indiquées, salsa avertit et utilise seulement "--user"/"--user-id". Si aucune n’est indiquée, salsa utilise l’ID de l’utilisateur courant (propriétaire du jeton).

check_projects ou check_repo
    Vérifie que le(s) projet(s) est/sont correctement configuré(s). Fonctionne exactement comme update_projects si ce n’est qu’il ne modifie rien mais liste simplement les projets mal configurés avec les erreurs trouvées.

      salsa --user yadd --tagpending --kgb --irc=devscripts check_projects test
      salsa --group js-team check_projects --all
      salsa --group js-team --rename-head check_projects test1 test2 test3

checkout or co
    Duplique (clone) le dépôt dans le répertoire courant. Si le répertoire de destination existe, met à jour le dépôt local.

      salsa --user yadd checkout devscripts
      salsa --group js-team checkout node-mongodb
      salsa checkout js-team/node-mongodb
      salsa checkout https://salsa.debian.org/debian/devscripts.git

    Il est possible de dupliquer plus d’un dépôt ou tous les dépôts d’un groupe ou d’un utilisateur :

      salsa --user yadd checkout devscripts autodep8
      salsa checkout yadd/devscripts js-team/npm
      salsa --group js-team checkout --all           # All js-team active repositories
      salsa checkout --all-archived                  # All your repositories, including archived

create_project ou create_repo
    Crée un projet public vide. Si "--group"/"--group-id" est utilisé, le projet est créé dans le répertoire du groupe, sinon dans celui de l’utilisateur.

      salsa --user yadd create_project test
      salsa --group js-team --kgb --irc-channel=devscripts create_project test

delete_project ou del_repo
    Supprimer un projet.

fork
    Duplique (fork) un projet dans le répertoire du groupe/utilisateur et insère une cible git "upstream" pointant sur le projet d’origine. Exemple :

      $ salsa fork js-team/node-mongodb --verbose
      ...
      salsa.pl info: node-mongodb ready in node-mongodb/
      $ cd node-mongodb
      $ git remote --verbose show
      origin          git@salsa.debian.org:me/node-mongodb (fetch)
      origin          git@salsa.debian.org:me/node-mongodb (push)
      upstream        git@salsa.debian.org:js-team/node-mongodb (fetch)
      upstream        git@salsa.debian.org:js-team/node-mongodb (push)

    Pour un groupe :

      salsa fork --group js-team user/node-foo

forks
    Liste les duplications (forks) du/des projet(s).

      salsa forks qa/qa debian/devscripts

    Le projet peut être indiqué en utilisant le chemin complet ou --group/--group-id ou encore --user/--user-id ; sinon il est recherché dans l’espace de l’utilisateur.

push
    Poussez les références pertinentes du paquet vers le dépôt Git "origin". À exécuter à partir du répertoire de travail d’empaquetage.

      salsa push

    Il pousse les références suivantes vers le dépôt amont configuré pour la branche debian-branch ou, à défaut, vers le dépôt "origin" :

    branche "master" (ou celle indiqué dans debian-branch du fichier gbp.conf)
    branche "upstream" (ou celle indiqué dans upstream-branch du fichier gbp.conf)
    Branche "pristine-tar"
    les tags nommés "debian/*" (ou suivant ce qui est indiqué dans debian-tag du fichier gbp.conf)
    les tags nommés "upstream/*" (ou suivant ce qui est indiqué dans upstream-tag di fichier gbp.conf)
    tous les tags si le format source du paquet est "3.0 (native)"
list_projects ou list_repos or ls
    Montre les projets propriété de l’utilisateur ou du groupe. Si un second argument est donné, restreint la recherche aux projets correspondants.

      salsa --group js-team list_projects
      salsa --user yadd list_projects foo*

last_ci_status
    Affiche le dernier résultat de l’intégration continue. Utiliser --verbose pour afficher l’URL du résultat lorsque le résultat est différent de success. À moins que l’option --no-fail ne soit choisie, salsa last_ci_status s’arrêtera au premier statut "failed" trouvé.

      salsa --group js-team last_ci_status --all --no-fail
      salsa --user yadd last_ci_status foo
      salsa last_ci_status js-team/nodejs

    Cette commande retourne le nombre de statuts "failed" trouvés. Les entrées "success" sont affichées en utilisant la sortie standard STDOUT et les autres sont affichées (avec les détails) en utilisant STDERR? Ainsi on peut facilement ne voir que les échecs en utilisant :

      salsa --group js-team last_ci_status --all --no-fail >/dev/null

pipeline_schedule ou schedule
    Contrôle la planification d’un pipeline.

pipeline_schedules ou schedules
    Répertorie les éléments de planification du pipeline actuel.

    Les options <--no-fail> et --all sont utilisables ici.

merge_request ou mr
    Crée une "merge request".

    Supposons qu’un dépôt ait été créé avec salsa fork, qu’une modification en un seul commit ait été fait et que l’on souhaite la proposer au projet originel (branche "master"). Il suffit de lancer ceci dans le répertoire source :

      salsa merge_request

    Autre exemple :

      salsa merge_request --mr-dst-project debian/foo --mr-dst-branch debian/latest

    Ou simplement :

      salsa merge_request debian/foo debian/latest

    Noter qu’à moins que le projet de destination ait été explicitement indiqué dans la ligne de commande, salsa merge_request le cherche dans l’ordre suivant :

    en utilisant l’API Gitlab: salsa cherche à détecter d’où ce projet a été dupliqué
    en utilisant la source amont "upstream"
    sinon en utilisant le projet lui-même comme destination

    Pour forcer salsa à utiliser le projet source comme destination, on peut utiliser "same" :

      salsa merge_request --mr-dst-project same
      # or
      salsa merge_request same

    Une nouvelle "merge request" sera créée en utilisant le titre et la description du dernier commit.

    See --mr-* options for more.

merge_requests ou mrs
    Liste les "merge requests" ouvertes pour ce(s) projet(s).

      salsa merge_requests qa/qa debian/devscripts

    Le projet peut être indiqué en utilisant le chemin complet ou --group/--group-id ou encore --user/--user-id ; sinon il est recherché dans l’espace de l’utilisateur.

protect_branch
    Protège/dé-protège une branche.

    Protéger
          #                                    project      branch merge push
          salsa --group js-team protect_branch node-mongodb master m     d

        "merge" et "push" peuvent être au choix :

        o, owner: propriétaire uniquement
        m, maintainer: o + mainteneurs autorisés
        d, developer: m + développeurs autorisés
        r, reporter: d + rapporteurs autorisés
        g, guest: r + invités autorisés
    Dé-protéger
          salsa --group js-team protect_branch node-mongodb master no

protected_branches
    Liste les branches protégées :

      salsa --group js-team protected_branches node-mongodb

push_repo
    Créer un nouveau projet depuis un répertoire local de source Debian configuré avec git.

    push_repo executes the following steps:

    récupère le nom de projet en utilisant le fichier debian/changelog ;
    lance git remote add upstream ... ;
    lance create_project ;
    pousse le dépôt local.

    Exemples :

      salsa --user yadd push_repo ./test
      salsa --group js-team --kgb --irc-channel=devscripts push_repo .

rename_branch
    Renomme la branche indiquée dans --source-branch avec le nom donné dans --dest-branch. On peut utiliser les options --no-fail, --all et --all-archived ici.

rename_branches
    Rename several branches at once in a given project. The first argument is the project name, followed by branch mappings. The default branch is detected automatically and updated if renamed.

      salsa rename_branches my-project master:debian/latest debian/master:debian/unstable

    You can use --no-wait to avoid waiting for the changes to be reflected on the server, and --no-fail to continue even if a branch rename fails.

      salsa rename_branches --no-wait --no-fail my-project master:debian/latest

    Il est possible d'utiliser --dep14 pour utiliser le système de branches DEB-14.

      salsa rename_branches --dep14 my-project

file
    Manipuler les fichiers du dépôt sur Salsa.

      salsa file <get|create|edit|delete|create_or_edit> <project_name> <file_path> [options]

    get Récupère le contenu d'un fichier depuis un dépôt.

          salsa file get my-project README.md --ref my-branch

    create
        Crée un nouveau fichier dans un répertoire.

          salsa file create my-project README.md --content-from-file path/to/README.md --branch my-branch --commit-message "Add README"

    edit
        Edite un fichier existant dans un répertoire.

          salsa file edit my-project README.md --content-from-file path/to/README.md --branch my-branch --commit-message "Update README"

    delete
        Supprime un fichier d'un dépôt.

          salsa file delete my-project README.md --branch my-branch --commit-message "Remove README"

    create_or_edit
        Crée un nouveau fichier ou modifie un fichier existant dans un dépôt.

          salsa file create_or_edit my-project README.md --content-from-file path/to/README.md --branch my-branch --commit-message "Update README"

search_projects, search_repo ou search
    Cherche un projet en utilisant la chaîne donnée. Montre le nom, l’ID du propriétaire et d’autres informations.

      salsa search_projects devscripts
      salsa search_projects debian/devscripts
      salsa search_projects 18475

update_projects ou update_repo
    Configure le(s) dépôt(s) en utilisant les paramètres donnés dans la ligne de commande. Un nom de dépôt doit être donné à moins que --all ou --all-archivedne soit utilisé. Préférer update_safe.

      salsa --user yadd --tagpending --kgb --irc=devscripts update_projects test
      salsa --group js-team update_projects --all
      salsa --group js-team --rename-head update_projects test1 test2 test3
      salsa update_projects js-team/node-mongodb --kgb --irc debian-js

    Par défaut lorsque --all est utilisé, salsa échoue à la première erreur. Pour pouvoir continuer, indiquer --no-fail. Dans ce cas, salsa affichera un avertissement pour chaque projet en échec mais continuera avec le projet suivant. Pour voir alors les erreurs complètes, utiliser --verbose.

update_safe
    Lance check_projects et demande avant de lancer update_projects (sauf si --yes).

      salsa --user yadd --tagpending --kgb --irc=devscripts update_safe test
      salsa --group js-team update_safe --all
      salsa --group js-team --rename-head update_safe test1 test2 test3
      salsa update_safe js-team/node-mongodb --kgb --irc debian-js

update_watch5
    Mets à jour le fichier "debian/watch" dans la version 5 pour chaque projet donné.

    Les options --all et --debian-branch sont utilisables ici.

update_gbp_conf
    Update debian/gbp.conf with the branches discovered on the server. The first argument is the project name.

      salsa update_gbp_conf my-project

path
    Petite commande pour obtenir le chemin à partir d'un dépôt git local :

      salsa path
      salsa path ./directory

  Autre

purge_cache
    Cache local vide.

OPTIONS

  Options générales

--chdir or -C
    Changer de répertoire avant de lancer la commande :

      salsa --chdir ~/debian checkout debian/libapache2-mod-fcgid

--cache-file
    Fichier où stocker les valeurs cachées. Une valeur vide désactive le cache. Défaut : ~/.cache/salsa.json.

    Valeur ".devscripts" : SALSA_CACHE_FILE

--no-cache
    Désactive le cache. Identique à --cache-file ''

--conf-file or --conffile
    Ajoute ou remplace les fichiers de configuration par défaut. L’option ne peut être utilisée qu’en première position de la ligne de commande. Défaut : "/etc/devscripts.conf" et "~/.devscripts".

    remplacer :
          salsa --conf-file test.conf <commande>...
          salsa --conf-file test.conf --conf-file test2.conf  <commande>...

    ajouter :
          salsa --conf-file +test.conf <commande>...
          salsa --conf-file +test.conf --conf-file +test2.conf  <commande>...

        Si l’un des --conf-file ne contient pas de "+", les fichiers de configuration par défaut sont ignorés.

--no-conf or --noconf
    Ne lire aucun fichier de configuration. L’option ne peut être utilisée qu’en première position de la ligne de commande.

--debug
    Active l’affichage verbeux.

--group
    Équipe à utiliser. Utiliser "salsa search_groups nom" pour le trouver.

    Pour utiliser un sous-groupe, il faut en saisir le chemin complet :

      salsa --group perl-team/modules/packages check_projects lemonldap-ng

    Valeur ".devscripts" : SALSA_GROUP

    Attention en utilisant SALSA_GROUP dans votre fichier ".devscripts". Toutes les commandes salsa seront exécutées dans l’espace du groupe. Par exemple si vous voulez proposer un léger changement dans un projet en utilisant salsa fork + salsa merge_request, ce "fork" sera fait dans l’espace du groupe sauf si vous indiquez un --user/--user-id. Préférez utiliser un alias dans votre fichier ".bashrc". Exemple :

      alias jsteam_admin="salsa --group js-team"

    ou

      alias jsteam_admin="salsa --conf-file ~/.js.conf

    ou pour utiliser à la fois .devscripts et .js.conf :

      alias jsteam_admin="salsa --conf-file +~/.js.conf

    on peut alors indiquer SALSA_GROUP dans "~/.js.conf"

    Pour activer l’autocomplétion bash pour l’alias, ajouter ceci dans le fichier ".bashrc" :

      _completion_loader salsa
      complete -F _salsa_completion jsteam_admin

--group-id
    Groupe à utiliser. Utiliser "salsa search_groups nom" pour le trouver.

    Valeur ".devscripts" : SALSA_GROUP_ID

    Attention en utilisant SALSA_GROUP_ID dans votre fichier ".devscripts". Toutes les commandes salsa seront exécutées dans l’espace du groupe. Par exemple si vous voulez proposer un léger changement dans un projet en utilisant salsa fork + salsa merge_request, ce "fork" sera créé dans l’espace du groupe sauf si vous indiquez un --user/--user-id. Préférez utiliser un alias dans votre fichier ".bashrc". Exemple :

      alias jsteam_admin="salsa --group-id 2666"

    ou

      alias jsteam_admin="salsa --conf-file ~/.js.conf

    on peut alors indiquer SALSA_GROUP_ID dans "~/.js.conf".

--help
    Affiche cette page de manuel.

--info or -i
    Demander avant les changements sensibles.

    Valeur ".devscripts" : SALSA_INFO (yes/no)

--path
    Chemin du dépôt. Par défaut, chemin du groupe ou de l’utilisateur.

    Valeur ".devscripts" : SALSA_REPO_PATH

--token
    Valeur du jeton (voir ci-avant).

--token-file
    Fichier où trouver le jeton (voir ci-avant).

--user
    Id de l’utilisateur à utiliser. Si aucun --group, --group-id, --user ou --user-id n’est indiqué, salsa utilise l’ID de l’utilisateur courant (correspondant au propriétaire du jeton privé salsa).

--user-id
    Id de l’utilisateur à utiliser. Utiliser "salsa search_users nom" pour le trouver. Si aucun --group, --group-id, --user ou --user-id n’est indiqué, salsa utilise l’ID de l’utilisateur courant (propriétaire du jeton privé salsa).

    Valeur ".devscripts" : SALSA_USER_ID

--verbose
    Affiche plus de logs.

--yes
    Ne jamais demander de consentement.

    Valeur ".devscripts" : SALSA_YES (yes/no)

  Options de liste/recherche des projets

--archived, --no-archived
    Au lieu d’examiner dans les projets actifs, liste ou cherche dans les projets archivés. Noter qu’on ne peut avoir des projets archivés et non-archivés dans la même requête. Défaut: no (ie --no-archived).

    Valeur ".devscripts" : SALSA_ARCHIVED (yes/no)

  Options de mise-à-jour/création de projet

--all, --all-archived
    Si activé, tous les projets du groupe/utilisateur sont affectés par la commande. --all sélectionnera tous les projets actifs alors que --all-archived inclura les projets actifs et archivés.

    --skip, --no-skip
        Ignorer les projet (contexte --all ou --all-achived). Exemple :

          salsa update_projects --tagpending --all --skip qa --skip devscripts

        Pour indiquer plusieurs valeurs, utiliser des espaces. Exemple :

          SALSA_SKIP=qa devscripts

        Utiliser --no-skip ignorera tous les projets qui devaient être ignorés et les inclura donc.

        Valeur ".devscripts" : SALSA_SKIP

    --skip-file
        Ignorer les projets dont les noms sont inclus dans ce ficher (1 projet par ligne)

          salsa update_projects --tagpending --all --skip-file ~/.skip

        Valeur ".devscripts" : SALSA_SKIP_FILE

--build-timeout
    Temps maximum d’exécution d’un job en secondes. Défaut : 3600 (60 minutes).

      salsa update_safe myrepo --build-timeout 3600

    Valeur ".devscripts" : SALSA_BUILD_TIMEOUT

--avatar-path
    Chemin vers une image pour l’avatar du projet. Si le chemin contient "%p", il sera remplacé par le nom du projet.

    Valeur ".devscripts" : SALSA_AVATAR_PATH

--ci-config-path
    Configure le chemin du fichier de configuration de la CI GitLab. Défaut : vide. Exemple :

      salsa update_safe --ci-config-path recipes/debian.yml@salsa-ci-team/pipeline debian/devscripts

    Valeur ".devscripts" : SALSA_CI_CONFIG_PATH

--desc, --no-desc
    Configure la description du dépôt en utilisant l’expression donnée avec desc-pattern.

    Valeur ".devscripts" : SALSA_DESC (yes/no)

--desc-pattern
    Expression de description des dépôts. Défaut : "Debian package %p". "%p" est remplacé par le nom du dépôt, alors que "%P" est remplacé par le nom du dépôt donné dans la commande (peut contenir le chemin complet). Défaut : "Debian package %p".

    Valeur ".devscripts" : SALSA_DESC_PATTERN

--email, --no-email, --disable-email
    Active, ignore ou désactive email-on-push.

    Valeur ".devscripts" : SALSA_EMAIL (yes/ignore/no, défaut : ignore)

--email-recipient
    Destinataire Email-on-push. Peut être multi-valué :

      $ salsa update_safe myrepo \
            --email-recipient foo@foobar.org \
            --email-recipient bar@foobar.org

    Si la chaîne destinataire contient la macro "%p", elle sera remplacée par le nom du projet.

    Valeur ".devscripts" : SALSA_EMAIL_RECIPIENTS (utiliser des espaces pour séparer les destinataires multiples)

--analytics
    Activer la fonctionnalité "analytics" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_ANALYTICS (yes/private/no, défaut : yes)

--auto-devops
    Activer la fonctionnalité "auto devops".

    Valeurs ".devscripts" : SALSA_ENABLE_AUTO_DEVOPS (yes/no, défaut : yes)

--container
    Activer la fonctionnalité "container" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_CONTAINER (yes/private/no, défaut : yes)

--environments
    Activer la fonctionnalité "environnements" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_ENVIRONMENTS (yes/private/no, défaut : yes)

--feature-flags
    Activer la fonctionnalité "feature" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_FEATURE_FLAGS (yes/private/no, défaut : yes)

--forks
    Activer la possibilité de fork avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_FORKS (yes/private/no, défaut: yes)

--infrastructure
    Activer les fonctionnalités d’infrastructure avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_INFRASTRUCTURE (yes/ignore/no, défaut: yes)

--issues
    Activer la création de tickets avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_ISSUES (yes/ignore/no, défaut: yes)

--jobs
    Activer la fonctionnalité "jobs" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_JOBS (yes/private/no, défaut: yes)

--lfs
    Activer la fonctionnalité "Large File Storage" (LFS).

    Valeurs ".devscripts" : SALSA_ENABLE_LFS (yes/no, défaut: yes)

--mr
    Activer la création de "merge-requests" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_MR (yes/ignore/no, défaut: yes)

--monitor
    Activer la fonctionnalité moniteur avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_MONITOR (yes/ignore/no, défaut: yes)

--packages
    Active la fonctionnalité "packages".

    Valeurs ".devscripts" : SALSA_ENABLE_PACKAGES (yes/no, défaut: yes)

--pages
    Activer la fonctionnalité "pages" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_PAGES (yes/private/no, défaut : yes)

--releases
    Activer la fonctionnalité "releases" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_RELEASES (yes/private/no, défaut : yes)

--enable-remove-source-branch, --disable-remove-source-branch
    Activer ou désactiver l’option d’effacement de branche source par défaut pour toutes les nouvelles "merge requests".

    Valeur ".devscripts" : SALSA_REMOVE_SOURCE_BRANCH (yes/no, défaut : yes)

--repo
    Activer la fonctionnalité répertoire-projet avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_REPO (yes/ignore/no, défaut: yes)

--request-access
    Autoriser les utilisateurs à demander un accès membre.

    Valeur ".devscripts" : SALSA_REQUEST_ACCESS (yes/no)

--requirements
    Activer la fonctionnalité "requirements" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_REQUIREMENTS (yes/private/no, défaut : yes)

--security-compliance
    Activer ou désactiver les fonctionnalités de sécurité et compatibilité.

    Valeur ".devscripts" : SALSA_ENABLE_SECURITY_COMPLIANCE (yes/no)

--service-desk
    Autorise la fonctionnalité "service desk".

    Valeur ".devscripts" : SALSA_ENABLE_SERVICE_DESK (yes/no)

--snippets
    Activer la fonctionnalité "snippets" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_SNIPPETS (yes/private/no, défaut : yes)

--wiki
    Activer la fonctionnalité "wiki" avec permissions.

    Valeurs ".devscripts" : SALSA_ENABLE_WIKI (yes/private/no, défaut : yes)

--irc-channel
    Canal IRC pour KGB et Irker. Peut être utilisé plusieurs fois uniquement avec --irker.

    Important : le canal ne doit pas inclure le premier "#". Si salsa trouve une chaîne commençant par "#", il considerera que le canal démarre par 2 "#" !

    Valeur ".devscripts" : SALSA_IRC_CHANNEL

    Les valeurs multiples doivent être séparées par des espaces.

    Comme le fichier de configuration est lu en utilisant sh, être prudent lorsque "#" est utilisé : il faut alors encadré le canal par des guillemets, sinon sh le considerera comme commentaire et ignorera cette valeur.

--irker, --no-irker, --disable-irker
    Active, ignore ou désactive Irker.

    Valeur ".devscripts" : SALSA_IRKER (yes/ignore/no, défaut : ignore)

--irker-host
    Hôte Irker. Défaut : ruprecht.snow-crash.org.

    Valeur ".devscripts" : SALSA_IRKER_HOST

--irker-port
    Hôte Irker. Défaut : vide (valeur par défaut).

    Valeur ".devscripts" : SALSA_IRKER_Port

--kgb, --no-kgb, --disable-kgb
    Active, ignore ou désactive le webhook KGB.

    Valeur ".devscripts" : SALSA_KGB (yes/ignore/no, défaut : ignore)

--kgb-options
    Liste des options KGB activées (séparées par des virgules). Défaut : issues_events, merge_requests_events, note_events, pipeline_events, push_events, tag_push_events, wiki_page_events, enable_ssl_verification

      $ salsa update_safe debian/devscripts --kgb --irc-channel devscripts \
        --kgb-options 'merge_requests_events,issues_events,enable_ssl_verification'

    Liste des options disponibles : confidential_comments_events, confidential_issues_events, confidential_note_events, enable_ssl_verification, issues_events, job_events, merge_requests_events, note_events, pipeline_events, tag_push_events, wiki_page_events

    Valeur ".devscripts" : SALSA_KGB_OPTIONS

--no-fail
    Ne pas s’arrêter à la première erreur lorsque update_projects est utilisé avec --all ou --all-archived.

    Valeur ".devscripts" : SALSA_NO_FAIL (yes/no, défaut : no)

--no-wait
    Ne pas attendre que le serveur confirme les modifications.

    Valeur ".devscripts" : SALSA_NO_WAIT (yes/no, défaut : no)

--rename-head, --no-rename-head
    Renommer la branche HEAD indiquée par --source-branch en --dest-branch et changer la branche par défaut. Ne fonctionne qu’avec update_projects.

    Valeur ".devscripts" : SALSA_RENAME_HEAD (yes/no)

    --source-branch
        Défaut : "master".

        Valeur ".devscripts" : SALSA_SOURCE_BRANCH

    --dest-branch
        Défaut : "debian/latest".

        Valeur ".devscripts" : SALSA_DEST_BRANCH

--tagpending, --no-tagpending, --disable-tagpending
    Active, ignore ou désactive le webhook "tagpending".

    Valeur ".devscripts" : SALSA_TAGPENDING (yes/ignore/no, défaut : ignore)

--debian-branch
    Sélectionne la branche à mettre à jour pour la commande update_watch5. Par défaut utilise la branche par défaut du projet.

--dep14
    Utilise les branches par défaut de DEP-14 pour la commande "rename_branches".

    Valeur ".devscripts" : SALSA_DEP14 (yes/no)

--branche
    Branche à utiliser pour la commande "file".

--ref
    Référence à utiliser pour la commande "file get".

--commit-message
    Message de commit à utiliser pour la commande "file".

--contenu-du-fichier
    Fichier dont le contenu doit être lu, pour la comment "file".

  Calendriers des pipelines

--schedule-desc
    Description de la planification du pipeline.

--schedule-ref
    Nom de la branche ou du tag déclenché.

--schedule-cron
    Calendrier "cron". Exemple :

      0 1 * * *.

--schedule-tz
    Fuseau horaire pour lancer les événements "cron". Défaut : UTC.

--schedule-enable, --schedule-disable
    Activer/désactiver la planification du pipeline à exécuter. Défaut : désactivé.

--schedule-run
    Déclencher le pipeline sélectionné par --schedule-desc pour qu’il s’exécute immédiatement. Défaut : false.

--schedule-delete
    Supprimer la planification du pipeline décrit par --schedule-desc.

  Options du statut de la CI

--retry-failed-pipelines
    Demander à GitLab de retenter les pipelines qui ont échoué.

  Options pour les "merge requests"

--mr-title
    Titre de la "merge request" Défaut : titre du dernier commit.

--mr-desc
    Description de la nouvelle MR. Défaut :

    vide is --mr-title est indiqué
    description du dernier commit si elle existe
--mr-dst-branch(ou second argument de la ligne de commande)
    Branche de destination. Défaut : "master".

--mr-dst-projet(ou premier argument de la ligne de commande)
    Projet de destination. Défaut : projet duquel ce projet a été cloné ; sinon, la valeur "upstream" retournée en utilisant git remote --verbose show ; à défaut le projet courant.

    Si --mr-dst-project est mis à same, salsa utilisera le projet source comme destination.

--mr-src-branch
    Branche source. Défaut : branche courante.

--mr-src-project
    Projet source. Défaut : projet courant trouvé en utilisant git remote --verbose show.

--mr-allow-squash, --no-mr-allow-squash
    Autorise le projet amont à regrouper les commits (squash), c’est la valeur par défaut.

    Valeur ".devscripts" : SALSA_MR_ALLOW_SQUASH (yes/no)

--mr-remove-source-branch, --no-mr-remove-source-branch
    Effacer la branche source si la requête est acceptée. Défaut : no.

    Valeur ".devscripts" : SALSA_MR_REMOVE_SOURCE_BRANCH (yes/no)

  Options pour gérer d’autres instances GitLab

--api-url
    API GitLab. Défaut : <https://salsa.debian.org/api/v4>.

    Valeur ".devscripts" : SALSA_API_URL

--git-server-url
    Défaut : "git@salsa.debian.org:".

    Valeur ".devscripts" : SALSA_GIT_SERVER_URL

--irker-server-url
    Défaut : "ircs://irc.oftc.net:6697/".

    Valeur ".devscripts" : SALSA_IRKER_SERVER_URL

--kgb-server-url
    Défault : <http://kgb.debian.net/webhook/?channel=>.

    Valeur ".devscripts" : SALSA_KGB_SERVER_URL

--tagpending-server-url
    Défaut : <https://webhook.salsa.debian.org/tagpending/>.

    Valeur ".devscripts" : SALSA_TAGPENDING_SERVER_URL

Exemple de fichier de configuration

Exemple pour utiliser salsa avec <https://gitlab.ow2.org> (groupe "lemonldap-ng"):

  SALSA_TOKEN=`cat ~/.ow2-gitlab-token`
  SALSA_API_URL=https://gitlab.ow2.org/api/v4
  SALSA_GIT_SERVER_URL=git@gitlab.ow2.org:
  SALSA_GROUP_ID=34

Ensuite pour l’utiliser, ajouter quelque chose comme suit dans votre fichier ".bashrc" :

  alias llng_admin='salsa --conffile ~/.salsa-ow2.conf'

VOIR AUSSI
dpt-salsa

AUTEUR
Xavier Guimard <yadd@debian.org>

COPYRIGHT ET LICENCE
Droits d’auteur (C) 2018, Xavier Guimard <yadd@debian.org>

Il contient du code copié depuis dpt-salsa (pkg-perl-tools), droits d’auteur (C) 2018, gregor herrmann <gregoa@debian.org>.

Ce programme est un logiciel libre ; il est permis de le distribuer et/ou de le modifier selon les termes de la GNU General Public License, telle que publiée par la Free Software Foundation, version 2 ou ultérieure.

Ce programme est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de QUALITÉ MARCHANDE ou d’ADÉQUATION À UN USAGE PARTICULIER. Voir la licence publique générale GNU pour plus de détails.

Vous devriez avoir reçu une copie de la licence publique générale GNU avec ce programme. Sinon, voir <http://www.gnu.org/licenses/>.

TRADUCTION
Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>, 2006

Thomas Huriaux <thomas.huriaux@gmail.com>, 2006

David Prévot <david@tilapin.org>, 2010-2013

Xavier Guimard <yadd@debian.org>, 2018-2024