.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "SALSA.FR 1" .TH SALSA.FR 1 "2022-06-21" "Utilitaires Debian" " " .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" salsa \- outil pour gérer les dépôts salsa et les membres des groupes .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 10 \& # salsa \& salsa whoami \& salsa search_project devscripts \& salsa search_project qa/qa \& salsa search_group js\-team \& salsa search_group perl\-team/modules \& salsa search_user yadd \& salsa push_repo . \-\-group js\-team \-\-kgb \-\-irc devscripts \-\-tagpending \& salsa update_repo node\-mongodb \-\-group js\-team \-\-disable\-kgb \-\-desc \e \& \-\-desc\-pattern "Package %p" \& salsa update_repo js\-team/node\-mongodb \-\-kgb \-\-irc debian\-js \& salsa update_safe \-\-all \-\-desc \-\-desc\-pattern "Debian package %p" \e \& \-\-group js\-team \& salsa checkout node\-mongodb \-\-group js\-team \& salsa checkout js\-team/node\-mongodb \& salsa add_user developer foobar \-\-group\-id 2665 \& salsa update_user maintainer foobar \-\-group js\-team \& salsa del_user foobar \-\-group js\-team \& salsa last_ci_status js\-team/nodejs .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBsalsa\fR a été conçu pour créer et configurer les dépôts de et gérer les utilisateurs et groupes. .PP Un jeton Salsa est nécessaire, excepté pour les commandes \*(L"search*\*(R", et doit être inséré dans la ligne de commande \fI(voir ci-dessus)\fR, ou dans le fichier de configuration \fI(~/.devscripts)\fR : .PP .Vb 1 \& SALSA_TOKEN=abcdefghi .Ve .PP ou .PP .Vb 1 \& SALSA_TOKEN=\`cat ~/.token\` .Ve .PP ou .PP .Vb 1 \& SALSA_TOKEN_FILE=~/.dpt.conf .Ve .PP Si on choisit de lier un autre fichier en utilisant \s-1SALSA_TOKEN_FILE,\s0 il doit contenir un ligne avec au choix (aucune différence) : .PP .Vb 2 \& SALSA_PRIVATE_TOKEN=xxxx \& SALSA_TOKEN=xxxx .Ve .PP Ceci permet par exemple d'utiliser le fichier de configuration de \fBdpt\fR\|(1) (~/.dpt.conf) qui contient : .PP .Vb 1 \& DPT_SALSA_PRIVATE_TOKEN=abcdefghi .Ve .SH "COMMANDES" .IX Header "COMMANDES" .SS "Gérer les utilisateurs et les groupes" .IX Subsection "Gérer les utilisateurs et les groupes" .IP "\fBjoin\fR" 4 .IX Item "join" Demander l'accès à un groupe. .Sp .Vb 3 \& salsa join js\-team \& salsa join \-\-group js\-team \& salsa join \-\-group\-id 1234 .Ve .IP "\fBadd_user\fR" 4 .IX Item "add_user" Ajouter un utilisateur à un groupe. .Sp .Vb 3 \& salsa \-\-group js\-group add_user guest foouser \& salsa \-\-group\-id 1234 add_user guest foouser \& salsa \-\-group\-id 1234 add_user maintainer 1245 .Ve .Sp Le premier argument est le niveau d'accès GitLab : guest, reporter, developer, maintainer, owner. .IP "\fBdel_user\fR" 4 .IX Item "del_user" Retire un utilisateur d'une équipe .Sp .Vb 2 \& salsa \-\-group js\-team del_user foouser \& salsa \-\-group\-id=1234 del_user foouser .Ve .IP "\fBlist_groups\fR" 4 .IX Item "list_groups" Liste les groupes subordonnés si un groupe est indiqué, les groupes de l'utilisateur courant sinon. .IP "\fBgroup\fR" 4 .IX Item "group" Montre les membres d'un groupe. .Sp .Vb 2 \& salsa \-\-group js\-team group \& salsa \-\-group\-id 1234 group .Ve .IP "\fBsearch_group\fR" 4 .IX Item "search_group" Cherche un groupe en utilisant la chaîne indiquée. Montre l'id du groupe et d'autres informations. .Sp .Vb 3 \& salsa search_group perl\-team \& salsa search_group perl\-team/modules \& salsa search_group 2666 .Ve .IP "\fBsearch_user\fR" 4 .IX Item "search_user" Cherche un utilisateur en utilisant la chaîne indiquée. Montre l'id de l'utilisateur et d'autres informations. .Sp .Vb 1 \& salsa search_user yadd .Ve .IP "\fBupdate_user\fR" 4 .IX Item "update_user" Met à jour le rôle dans un groupe. .Sp .Vb 2 \& salsa \-\-group\-id 1234 update_user guest foouser \& salsa \-\-group js\-team update_user maintainer 1245 .Ve .Sp Le premier argument est le niveau d'accès GitLab : guest, reporter, developer, maintainer, owner. .IP "\fBwhoami\fR" 4 .IX Item "whoami" Affiche les informations du propriétaire du jeton .Sp .Vb 1 \& salsa whoami .Ve .SS "Gérer les dépôts" .IX Subsection "Gérer les dépôts" Une seule option parmi \f(CW\*(C`\-\-group\*(C'\fR, \f(CW\*(C`\-\-group\-id\*(C'\fR, \f(CW\*(C`\-\-user\*(C'\fR et \f(CW\*(C`\-\-user\-id\*(C'\fR est nécessaire pour gérer les répertoires. Si les 2 sont indiquées, salsa avertit et utilise seulement \f(CW\*(C`\-\-user\*(C'\fR/\f(CW\*(C`\-\-user\-id\*(C'\fR. Si aucune n'est indiquée, salsa utilise l'id du propriétaire du jeton. .IP "\fBcheck_repo\fR" 4 .IX Item "check_repo" Vérifie que le(s) dépot(s) est/sont correctement configuré(s). Fonctionne exactement comme \fBupdate_repo\fR si ce n'est qu'il ne modifie rien mais liste simplement les projets mal configurés avec les erreurs trouvées. .Sp .Vb 3 \& salsa \-\-user yadd \-\-tagpending \-\-kgb \-\-irc=devscripts check_repo test \& salsa \-\-group js\-team check_repo \-\-all \& salsa \-\-group js\-team \-\-rename\-head check_repo test1 test2 test3 .Ve .IP "\fBcheckout\fR or \fBco\fR" 4 .IX Item "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. .Sp .Vb 3 \& salsa \-\-user yadd co devscripts \& salsa \-\-group js\-team co node\-mongodb \& salsa co js\-team/node\-mongodb .Ve .Sp Il est possible de dupliquer plus d'un dépôt ou tous les dépôts d'un groupe ou d'un utilisateur : .Sp .Vb 4 \& salsa \-\-user yadd co devscripts autodep8 \& salsa co yadd/devscripts js\-team/npm \& salsa \-\-group js\-team co \-\-all # All js\-team repos \& salsa co \-\-all # All your repos .Ve .IP "\fBcreate_repo\fR" 4 .IX Item "create_repo" Crée un projet public vide. Si \f(CW\*(C`\-\-group\*(C'\fR/\f(CW\*(C`\-\-group\-id\*(C'\fR est utilisé, le projet est créé dans le répertoire du groupe, sinon dans celui de l'utilisateur. .Sp .Vb 2 \& salsa \-\-user yadd create_repo test \& salsa \-\-group js\-team \-\-kgb \-\-irc\-channel=devscripts create_repo test .Ve .IP "\fBdel_repo\fR" 4 .IX Item "del_repo" Supprimer un dépôt. .IP "\fBfork\fR" 4 .IX Item "fork" Duplique (fork) un projet dans le répertoire du groupe/utilisateur et insère une cible git \*(L"upstream\*(R" pointant sur le projet d'origine. Exemple : .Sp .Vb 9 \& $ 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) .Ve .Sp Pour un groupe : .Sp .Vb 1 \& salsa fork \-\-group js\-team user/node\-foo .Ve .IP "\fBforks\fR" 4 .IX Item "forks" Liste les duplications (forks) du/des projet(s). .Sp .Vb 1 \& salsa forks qa/qa debian/devscripts .Ve .Sp Le projet peut être indiqué en utilisant le chemin complet ou \&\fB\-\-group\fR/\fB\-\-group\-id\fR ou encore \fB\-\-user\fR/\fB\-\-user\-id\fR ; sinon il est recherché dans l'espace de l'utilisateur. .IP "\fBpush\fR" 4 .IX Item "push" Poussez les références pertinentes du paquet vers le dépôt Git \*(L"origin\*(R". À exécuter à partir du répertoire de travail d'empaquetage. .Sp .Vb 1 \& salsa push .Ve .Sp 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 \*(L"origin\*(R" : .RS 4 .ie n .IP "branche ""master"" (ou celle indiqué dans debian-branch du fichier gbp.conf)" 4 .el .IP "branche ``master'' (ou celle indiqué dans debian-branch du fichier gbp.conf)" 4 .IX Item "branche master (ou celle indiqué dans debian-branch du fichier gbp.conf)" .PD 0 .ie n .IP "branche ""upstream"" (ou celle indiqué dans upstream-branch du fichier gbp.conf)" 4 .el .IP "branche ``upstream'' (ou celle indiqué dans upstream-branch du fichier gbp.conf)" 4 .IX Item "branche upstream (ou celle indiqué dans upstream-branch du fichier gbp.conf)" .ie n .IP "Branche ""pristine-tar""" 4 .el .IP "Branche ``pristine-tar''" 4 .IX Item "Branche pristine-tar" .ie n .IP "les tags nommés ""debian/*"" (ou suivant ce qui est indiqué dans debian-tag du fichier gbp.conf)" 4 .el .IP "les tags nommés ``debian/*'' (ou suivant ce qui est indiqué dans debian-tag du fichier gbp.conf)" 4 .IX Item "les tags nommés debian/* (ou suivant ce qui est indiqué dans debian-tag du fichier gbp.conf)" .ie n .IP "les tags nommés ""upstream/*"" (ou suivant ce qui est indiqué dans upstream-tag di fichier gbp.conf)" 4 .el .IP "les tags nommés ``upstream/*'' (ou suivant ce qui est indiqué dans upstream-tag di fichier gbp.conf)" 4 .IX Item "les tags nommés upstream/* (ou suivant ce qui est indiqué dans upstream-tag di fichier gbp.conf)" .ie n .IP "tous les tags si le format source du paquet est ""3.0 (native)""" 4 .el .IP "tous les tags si le format source du paquet est ``3.0 (native)''" 4 .IX Item "tous les tags si le format source du paquet est 3.0 (native)" .RE .RS 4 .RE .IP "\fBls\fR or \fBlist_repos\fR" 4 .IX Item "ls or list_repos" .PD Montre les projets propriété de l'utilisateur ou du groupe. Si un second argument est donné, restreint la recherche aux projets correspondants .Sp .Vb 2 \& salsa \-\-group js\-team list_repos \& salsa \-\-user yadd list_repos foo* .Ve .IP "\fBlast_ci_status\fR or \fBci\fR" 4 .IX Item "last_ci_status or ci" Affiche le dernier résultat de l'intégration continue. Utiliser \fB\-\-verbose\fR pour afficher l'\s-1URL\s0 du résultat lorsque le résultat est différent de \&\fBsuccess\fR. À moins que l'option \fB\-\-no\-fail\fR ne soit choisie, \fBsalsa last_ci_status\fR s'arrêtera au premier statut \*(L"failed\*(R" trouvé. .Sp .Vb 3 \& salsa \-\-group js\-team last_ci_status \-\-all \-\-no\-fail \& salsa \-\-user yadd last_ci_status foo \& salsa last_ci_status js\-team/nodejs .Ve .Sp Cette commande retourne le nombre de statuts \*(L"failed\*(R" trouvés. Les entrées \&\*(L"success\*(R" sont affichées en utilisant la sortie standard \s-1STDOUT\s0 et les autres sont affichées \fI(avec les détails)\fR en utilisant \s-1STDERR\s0? Ainsi on peut facilement ne voir que les échecs en utilisant : .Sp .Vb 1 \& salsa \-\-group js\-team last_ci_status \-\-all \-\-no\-fail >/dev/null .Ve .IP "\fBmerge_request\fR, \fBmr\fR" 4 .IX Item "merge_request, mr" Crée une \*(L"merge request\*(R". .Sp Supposons qu'un dépôt ait été créé avec \fBsalsa fork\fR, qu'une modification en un seul commit ait été fait et que l'on souhaite la proposer au projet originel \fI(branche \*(L"master\*(R")\fR. Il suffit de lancer ceci dans le répertoire source : .Sp .Vb 1 \& salsa mr .Ve .Sp Autres exemples : .Sp .Vb 1 \& salsa mr \-\-mr\-dst\-project debian/foo \-\-mr\-dst\-branch debian/master .Ve .Sp ou simplement .Sp .Vb 1 \& salsa mr debian/foo debian/master .Ve .Sp Noter qu'à moins que le projet de destination ait été explicitement indiqué dans la ligne de commande, \fBsalsa merge_request\fR le cherche dans l'ordre suivant : .RS 4 .IP "en utilisant l'\s-1API\s0 Gitlab: salsa cherche à détecter d'où ce projet a été dupliqué" 4 .IX Item "en utilisant l'API Gitlab: salsa cherche à détecter d'où ce projet a été dupliqué" .PD 0 .ie n .IP "en utilisant la source amont ""upstream""" 4 .el .IP "en utilisant la source amont ``upstream''" 4 .IX Item "en utilisant la source amont upstream" .IP "sinon en utilisant le projet lui\-même comme destination" 4 .IX Item "sinon en utilisant le projet lui-même comme destination" .RE .RS 4 .PD .Sp Pour forcer salsa à utiliser le projet source comme destination, on peut utiliser \*(L"same\*(R" : .Sp .Vb 3 \& salsa mr \-\-mr\-dst\-project same \& # or \& salsa mr same .Ve .Sp Une nouvelle \*(L"merge request\*(R" sera créée en utilisant le titre et la description du dernier commit. .Sp See \fB\-\-mr\-*\fR options for more. .RE .IP "\fBmerge_requests\fR, \fBmrs\fR" 4 .IX Item "merge_requests, mrs" Liste les \*(L"merge requests\*(R" ouvertes pour ce(s) projet(s) .Sp .Vb 1 \& salsa mrs qa/qa debian/devscripts .Ve .Sp Le projet peut être indiqué en utilisant le chemin complet ou \&\fB\-\-group\fR/\fB\-\-group\-id\fR ou encore \fB\-\-user\fR/\fB\-\-user\-id\fR ; sinon il est recherché dans l'espace de l'utilisateur. .IP "\fBprotect_branch\fR" 4 .IX Item "protect_branch" Protège/dé\-protège une branche. .RS 4 .IP "Mettre une protection" 4 .IX Item "Mettre une protection" .Vb 2 \& # project branch merge push \& salsa \-\-group js\-team protect_branch node\-mongodb master m d .Ve .Sp \&\*(L"merge\*(R" et \*(L"push\*(R" peuvent être au choix : .RS 4 .IP "\fBo\fR, \fBowner\fR: propriétaire uniquement" 4 .IX Item "o, owner: propriétaire uniquement" .PD 0 .IP "\fBm\fR, \fBmaintainer\fR: \fBo\fR + mainteneurs autorisés" 4 .IX Item "m, maintainer: o + mainteneurs autorisés" .IP "\fBd\fR, \fBdeveloper\fR: \fBm\fR + développeurs autorisés" 4 .IX Item "d, developer: m + développeurs autorisés" .IP "\fBr\fR, \fBreporter\fR: \fBd\fR + rapporteurs autorisés" 4 .IX Item "r, reporter: d + rapporteurs autorisés" .IP "\fBg\fR, \fBguest\fR: \fBr\fR + invités autorisés" 4 .IX Item "g, guest: r + invités autorisés" .RE .RS 4 .RE .IP "Dé\-protéger" 4 .IX Item "Dé-protéger" .PD .Vb 1 \& salsa \-\-group js\-team protect_branch node\-mongodb master no .Ve .RE .RS 4 .RE .IP "\fBprotected_branches\fR" 4 .IX Item "protected_branches" Liste les branches protégées .Sp .Vb 1 \& salsa \-\-group js\-team protected_branches node\-mongodb .Ve .IP "\fBpush_repo\fR" 4 .IX Item "push_repo" Créer un nouveau projet depuis un répertoire local de source Debian configuré avec git. .Sp \&\fBpush_repo\fR executes the following steps: .RS 4 .IP "récupère le nom de projet en utilisant le fichier debian/changelog ;" 4 .IX Item "récupère le nom de projet en utilisant le fichier debian/changelog ;" .PD 0 .IP "lance \fBgit remote add upstream ...\fR ;" 4 .IX Item "lance git remote add upstream ... ;" .IP "lance \fBcreate_repo\fR ;" 4 .IX Item "lance create_repo ;" .IP "pousse le dépôt local." 4 .IX Item "pousse le dépôt local." .RE .RS 4 .PD .Sp Exemples : .Sp .Vb 2 \& salsa \-\-user yadd push_repo ./test \& salsa \-\-group js\-team \-\-kgb \-\-irc\-channel=devscripts push_repo . .Ve .RE .IP "\fBrename_branch\fR" 4 .IX Item "rename_branch" Renomme la branche indiquée dans \fB\-\-source\-branch\fR avec le nom donné dans \&\fB\-\-dest\-branch\fR. On peut utiliser les options \fB\-\-no\-fail\fR et \fB\-\-all\fR ici. .IP "\fBsearch\fR, \fBsearch_project\fR, \fBsearch_repo\fR" 4 .IX Item "search, search_project, search_repo" Cherche un projet en utilisant la chaîne donnée. Montre le nom, l'id du propriétaire et d'autres informations. .Sp .Vb 3 \& salsa search devscripts \& salsa search debian/devscripts \& salsa search 18475 .Ve .IP "\fBupdate_repo\fR" 4 .IX Item "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 \fB\-\-all\fR ne soit utilisé. Préférer \fBupdate_safe\fR. .Sp .Vb 4 \& salsa \-\-user yadd \-\-tagpending \-\-kgb \-\-irc=devscripts update_repo test \& salsa \-\-group js\-team update_repo \-\-all \& salsa \-\-group js\-team \-\-rename\-head update_repo test1 test2 test3 \& salsa update_repo js\-team/node\-mongodb \-\-kgb \-\-irc debian\-js .Ve .Sp Par défaut lorsque \fB\-\-all\fR est utilisé, salsa échoue à la première erreur. Pour pouvoir continuer, indiquer \fB\-\-no\-fail\fR. 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 \&\fB\-\-verbose\fR. .IP "\fBupdate_safe\fR" 4 .IX Item "update_safe" Lance \fBcheck_repo\fR et demande avant de lancer \fBupdate_repo\fR (sauf si \&\fB\-\-yes\fR). .Sp .Vb 4 \& 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 .Ve .SS "Autre" .IX Subsection "Autre" .IP "\fBpurge_cache\fR" 4 .IX Item "purge_cache" Cache local vide. .SH "OPTIONS" .IX Header "OPTIONS" .SS "Options générales" .IX Subsection "Options générales" .IP "\fB\-C\fR, \fB\-\-chdir\fR" 4 .IX Item "-C, --chdir" Changer de répertoire avant de lancer la commande .Sp .Vb 1 \& salsa \-C ~/debian co debian/libapache2\-mod\-fcgid .Ve .IP "\fB\-\-cache\-file\fR" 4 .IX Item "--cache-file" Fichier où stocker les valeurs cachées. Défaut : \fB~/.cache/salsa.json\fR. Une valeur vide désactive le cache. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_CACHE_FILE\s0\fR .IP "\fB\-\-no\-cache\fR" 4 .IX Item "--no-cache" Désactive le cache. Identique à \fB\-\-cache\-file ''\fR .IP "\fB\-\-conffile\fR, \fB\-\-conf\-file\fR" 4 .IX Item "--conffile, --conf-file" Ajoute ou remplace les fichiers de configuration par défaut (\f(CW\*(C`/etc/devscripts.conf\*(C'\fR and \f(CW\*(C`~/.devscripts\*(C'\fR). L'option ne peut être utilisée qu'en première position de la ligne de commande. .RS 4 .IP "remplacer :" 4 .IX Item "remplacer :" .Vb 2 \& salsa \-\-conf\-file test.conf ... \& salsa \-\-conf\-file test.conf \-\-conf\-file test2.conf ... .Ve .IP "ajouter :" 4 .IX Item "ajouter :" .Vb 2 \& salsa \-\-conf\-file +test.conf ... \& salsa \-\-conf\-file +test.conf \-\-conf\-file +test2.conf ... .Ve .Sp Si l'un des \fB\-\-conf\-file\fR ne contient pas de \f(CW\*(C`+\*(C'\fR, les fichiers de configuration par défaut sont ignorés. .RE .RS 4 .RE .IP "\fB\-\-no\-conf\fR, \fB\-\-noconf\fR" 4 .IX Item "--no-conf, --noconf" Ne lire aucun fichier de configuration. L'option ne peut être utilisée qu'en première position de la ligne de commande. .IP "\fB\-\-debug\fR" 4 .IX Item "--debug" Active l'affichage verbeux .IP "\fB\-\-group\fR" 4 .IX Item "--group" Équipe à utiliser. Utiliser \f(CW\*(C`salsa search_group nom\*(C'\fR pour le trouver. .Sp Pour utiliser un sous-groupe, il faut en saisir le chemin complet : .Sp .Vb 1 \& salsa \-\-group perl\-team/modules/packages check_repo lemonldap\-ng .Ve .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_GROUP\s0\fR .Sp Attention en utilisant \fB\s-1SALSA_GROUP\s0\fR dans votre fichier \&\f(CW\*(C`.devscripts\*(C'\fR. Toutes les commandes \fBsalsa\fR seront exécutées dans l'espace du groupe. Par exemple si vous voulez proposer un léger changement dans un projet en utilisant \fBsalsa fork\fR + \fBsalsa mr\fR, ce \*(L"fork\*(R" sera fait dans l'espace du groupe sauf si vous indiquez un \fB\-\-user\fR/\fB\-\-user\-id\fR. Préférez utiliser un alias dans votre fichier \f(CW\*(C`.bashrc\*(C'\fR. Exemple : .Sp .Vb 1 \& alias jsteam_admin="salsa \-\-group js\-team" .Ve .Sp ou .Sp .Vb 1 \& alias jsteam_admin="salsa \-\-conf\-file ~/.js.conf .Ve .Sp ou pour utiliser à la fois .devscripts et .js.conf : .Sp .Vb 1 \& alias jsteam_admin="salsa \-\-conf\-file +~/.js.conf .Ve .Sp on peut alors indiquer \fB\s-1SALSA_GROUP\s0\fR dans \f(CW\*(C`~/.js.conf\*(C'\fR .Sp Pour activer l'autocomplétion bash pour l'alias, ajouter ceci dans le fichier \f(CW\*(C`.bashrc\*(C'\fR : .Sp .Vb 2 \& _completion_loader salsa \& complete \-F _salsa_completion jsteam_admin .Ve .IP "\fB\-\-group\-id\fR" 4 .IX Item "--group-id" Groupe à utiliser. Utiliser \f(CW\*(C`salsa search_group nom\*(C'\fR pour le trouver. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_GROUP_ID\s0\fR .Sp Attention en utilisant \fB\s-1SALSA_GROUP\s0\fR dans votre fichier \&\f(CW\*(C`.devscripts\*(C'\fR. Toutes les commandes \fBsalsa\fR seront exécutées dans l'espace du groupe. Par exemple si vous voulez proposer un léger changement dans un projet en utilisant \fBsalsa fork\fR + \fBsalsa mr\fR, ce \*(L"fork\*(R" sera créé dans l'espace du groupe sauf si vous indiquez un \fB\-\-user\fR/\fB\-\-user\-id\fR. Préférez utiliser un alias dans votre fichier \f(CW\*(C`.bashrc\*(C'\fR. Exemple : .Sp .Vb 1 \& alias jsteam_admin="salsa \-\-group\-id 2666" .Ve .Sp ou .Sp .Vb 1 \& alias jsteam_admin="salsa \-\-conf\-file ~/.js.conf .Ve .Sp on peut alors indiquer \fB\s-1SALSA_GROUP_ID\s0\fR dans \f(CW\*(C`~/.js.conf\*(C'\fR .IP "\fB\-\-help\fR: affiche cette page de manuel" 4 .IX Item "--help: affiche cette page de manuel" .PD 0 .IP "\fB\-i\fR, \fB\-\-info\fR" 4 .IX Item "-i, --info" .PD Demander avant les changements sensibles. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_INFO\s0\fR (yes/no) .IP "\fB\-\-path\fR" 4 .IX Item "--path" Chemin du dépôt. Par défaut, chemin du groupe ou de l'utilisateur. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_REPO_PATH\s0\fR .IP "\fB\-\-token\fR" 4 .IX Item "--token" Valeur du jeton (voir ci-avant). .IP "\fB\-\-token\-file\fR" 4 .IX Item "--token-file" Fichier où trouver le jeton (voir ci-avant). .IP "\fB\-\-user\fR" 4 .IX Item "--user" Id de l'utilisateur à utiliser. Si aucun \fB\-\-group\fR, \fB\-\-group\-id\fR, \&\fB\-\-user\fR or \fB\-\-user\-id\fR n'est indiqué, salsa utilise l'id du propriétaire du jeton. .IP "\fB\-\-user\-id\fR" 4 .IX Item "--user-id" Id de l'utilisateur à utiliser. Utiliser \f(CW\*(C`salsa search_user nom\*(C'\fR pour le trouver. Si aucun \fB\-\-group\fR, \fB\-\-group\-id\fR, \fB\-\-user\fR ou \fB\-\-user\-id\fR n'est indiqué, salsa utilise l'id du propriétaire du jeton. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_USER_ID\s0\fR .IP "\fB\-\-verbose\fR" 4 .IX Item "--verbose" Affiche plus de logs. .IP "\fB\-\-yes\fR" 4 .IX Item "--yes" Ne jamais demander de consentement. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_YES\s0\fR (yes/no) .SS "Options de liste/recherche" .IX Subsection "Options de liste/recherche" .IP "\fB\-\-archived\fR \fB\-\-no\-archived\fR" 4 .IX Item "--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 \fI(ie \-\-no\-archived)\fR. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_ARCHIVED\s0\fR (yes/no) .SS "Options pour mettre à jour ou créer des dépôts" .IX Subsection "Options pour mettre à jour ou créer des dépôts" .IP "\fB\-\-all\fR" 4 .IX Item "--all" Lorsqu'indiqué, tous les projets du groupe/utilisateur sont affectés par la commande. .RS 4 .IP "\fB\-\-skip\fR : ignorer les projet (contexte \fB\-\-all\fR). Exemple :" 4 .IX Item "--skip : ignorer les projet (contexte --all). Exemple :" .Vb 1 \& salsa update_repo \-\-tagpending \-\-all \-\-skip qa \-\-skip devscripts .Ve .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_SKIP\s0\fR. Pour indiquer plusieurs valeurs, utiliser des espaces. Example .Sp .Vb 1 \& SALSA_SKIP=qa devscripts .Ve .IP "\fB\-\-skip\-file\fR : ignorer les projets dont les noms sont inclus dans ce ficher (1 projet par ligne)" 4 .IX Item "--skip-file : ignorer les projets dont les noms sont inclus dans ce ficher (1 projet par ligne)" .Vb 1 \& salsa update_repo \-\-tagpending \-\-all \-\-skip\-file ~/.skip .Ve .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_SKIP_FILE\s0\fR .RE .RS 4 .RE .IP "\fB\-\-ci\-config\-path\fR" 4 .IX Item "--ci-config-path" Configure le chemin du fichier de configuration de la \s-1CI\s0 GitLab. Défaut : vide. Exemple : .Sp .Vb 1 \& salsa update_safe \-\-ci\-config\-path recipes/debian.yml@salsa\-ci\-team/pipeline debian/devscripts .Ve .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_CI_CONFIG_PATH\s0\fR .IP "\fB\-\-desc\fR \fB\-\-no\-desc\fR" 4 .IX Item "--desc --no-desc" Configure la description du dépôt en utilisant l'expression donnée avec \&\fB\-\-desc\-pattern\fR .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_DESC\s0\fR (yes/no) .IP "\fB\-\-desc\-pattern\fR" 4 .IX Item "--desc-pattern" Expression de description des dépôts. Défaut : \*(L"Debian package \f(CW%p\fR\*(R". \*(L"%p\*(R" est remplacé par le nom du dépôt, \*(L"%P\*(R" est remplacé par le nom du dépôt donné dans la commande (peut contenir le chemin complet). .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_DESC_PATTERN\s0\fR .IP "\fB\-\-email\fR, \fB\-\-no\-email\fR, \fB\-\-disable\-email\fR" 4 .IX Item "--email, --no-email, --disable-email" Active, ignore ou désactive email-on-push. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_EMAIL\s0\fR (yes/ignore/no, défaut : ignore) .IP "\fB\-\-email\-recipient\fR" 4 .IX Item "--email-recipient" Destinataire Email-on-push. Peut être multi\-valué : .Sp .Vb 3 \& $ salsa update_safe myrepo \e \& \-\-email\-recipient foo@foobar.org \e \& \-\-email\-recipient bar@foobar.org .Ve .Sp Si la chaîne destinataire contient la macro \*(L"%p\*(R", elle sera remplacée par le nom du projet. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_EMAIL_RECIPIENTS\s0\fR (utiliser des espaces pour séparer les destinataires multiples) .IP "\fB\-\-enable\-issues\fR, \fB\-\-no\-enable\-issues\fR, \fB\-\-disable\-issues\fR, \fB\-\-no\-disable\-issues\fR" 4 .IX Item "--enable-issues, --no-enable-issues, --disable-issues, --no-disable-issues" Active, ignore ou désactive l'ouverture de bogues. .Sp Valeurs \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_ENABLE_ISSUES\s0\fR (yes/ignore/no, défaut: ignore) .IP "\fB\-\-enable\-mr\fR, \fB\-\-no\-enable\-mr\fR, \fB\-\-disable\-mr\fR, \fB\-\-no\-disable\-mr\fR" 4 .IX Item "--enable-mr, --no-enable-mr, --disable-mr, --no-disable-mr" Active, ignore ou désactive les \*(L"merge requests\*(R". .Sp Valeurs \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_ENABLE_MR\s0\fR (yes/ignore/no, défaut: ignore) .IP "\fB\-\-irc\-channel\fR" 4 .IX Item "--irc-channel" Canal \s-1IRC\s0 pour \s-1KGB\s0 et Irker. Peut être utilisé plusieurs fois uniquement avec \fB\-\-irker\fR. .Sp \&\fBImportant\fR : le canal ne doit pas inclure le premier \*(L"#\*(R". Si salsa trouve une chaîne commençant par \*(L"#\*(R", il considerera que le canal démarre par 2 \*(L"#\*(R" ! .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_IRC_CHANNEL\s0\fR. .Sp Les valeurs multiples doivent être séparées par des espaces. .Sp Comme le fichier de configuration est lu en utilisant \fBsh\fR, être prudent lorsque \*(L"#\*(R" est utilisé : il faut alors encadré le canal par des guillemets, sinon \fBsh\fR le considerera comme commentaire et ignorera cette valeur. .IP "\fB\-\-irker\fR, \fB\-\-no\-irker\fR, \fB\-\-disable\-irker\fR" 4 .IX Item "--irker, --no-irker, --disable-irker" Active, ignore ou désactive Irker .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_IRKER\s0\fR (yes/ignore/no, défaut : ignore) .IP "\fB\-\-irker\-host\fR" 4 .IX Item "--irker-host" Hôte Irker. Défaut : ruprecht.snow\-crash.org .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_IRKER_HOST\s0\fR .IP "\fB\-\-irker\-port\fR" 4 .IX Item "--irker-port" Hôte Irker. Défaut : vide (valeur par défaut) .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fBSALSA_IRKER_Port\fR .IP "\fB\-\-kgb\fR, \fB\-\-no\-kgb\fR, \fB\-\-disable\-kgb\fR" 4 .IX Item "--kgb, --no-kgb, --disable-kgb" Active, ignore ou désactive le webhook \s-1KGB.\s0 .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_KGB\s0\fR (yes/ignore/no, défaut : ignore) .IP "\fB\-\-kgb\-options\fR" 4 .IX Item "--kgb-options" Liste des options \s-1KGB\s0 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 .Sp .Vb 2 \& $ salsa update_safe debian/devscripts \-\-kgb \-\-irc\-channel devscripts \e \& \-\-kgb\-options \*(Aqmerge_requests_events,issues_events,enable_ssl_verification\*(Aq .Ve .Sp 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 .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_KGB_OPTIONS\s0\fR .IP "\fB\-\-no\-fail\fR" 4 .IX Item "--no-fail" Ne pas s'arrêter à la première erreur lorsque \fBupdate_repo\fR est utilisé avec \fB\-\-all\fR. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_NO_FAIL\s0\fR (yes/no) .IP "\fB\-\-rename\-head\fR, \fB\-\-no\-rename\-head\fR" 4 .IX Item "--rename-head, --no-rename-head" Renommer la branche \s-1HEAD\s0 indiquée par \fB\-\-source\-branch\fR en \fB\-\-dest\-branch\fR et changer la branche par défaut. Ne fonctionne qu'avec \fBupdate_repo\fR. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_RENAME_HEAD\s0\fR (yes/no) .RS 4 .ie n .IP "\fB\-\-source\-branch\fR : défaut ""master""" 4 .el .IP "\fB\-\-source\-branch\fR : défaut ``master''" 4 .IX Item "--source-branch : défaut master" Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_SOURCE_BRANCH\s0\fR .ie n .IP "\fB\-\-dest\-branch\fR : défaut ""debian/master""" 4 .el .IP "\fB\-\-dest\-branch\fR : défaut ``debian/master''" 4 .IX Item "--dest-branch : défaut debian/master" Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_DEST_BRANCH\s0\fR .RE .RS 4 .RE .IP "\fB\-\-tagpending\fR, \fB\-\-no\-tagpending\fR, \fB\-\-disable\-tagpending\fR" 4 .IX Item "--tagpending, --no-tagpending, --disable-tagpending" Active, ignore ou désactive le webhook \*(L"tagpending\*(R". .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_TAGPENDING\s0\fR (yes/ignore/no, défaut : ignore) .ie n .SS "Options pour les ""merge requests""" .el .SS "Options pour les ``merge requests''" .IX Subsection "Options pour les merge requests" .IP "\fB\-\-mr\-title\fR" 4 .IX Item "--mr-title" Titre à utiliser. Défaut : titre du dernier commit. .IP "\fB\-\-mr\-desc\fR" 4 .IX Item "--mr-desc" Description à utiliser. Défaut : .RS 4 .IP "vide is \fB\-\-mr\-title\fR est indiqué" 4 .IX Item "vide is --mr-title est indiqué" .PD 0 .IP "description du dernier commit si elle existe" 4 .IX Item "description du dernier commit si elle existe" .RE .RS 4 .RE .IP "\fB\-\-mr\-dst\-branch\fR(ou second argument de la ligne de commande)" 4 .IX Item "--mr-dst-branch(ou second argument de la ligne de commande)" .PD Branche de destination. Défaut : \*(L"master\*(R". .IP "\fB\-\-mr\-dst\-projet\fR(ou premier argument de la ligne de commande)" 4 .IX Item "--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 \*(L"upstream\*(R" retournée en utilisant \fBgit remote \-\-verbose show\fR ; à défaut le projet courant. .Sp Si \fB\-\-mr\-dst\-project\fR est mis à \fBsame\fR, salsa utilisera le projet source comme destination. .IP "\fB\-\-mr\-src\-branch\fR" 4 .IX Item "--mr-src-branch" Branche source. Défaut : branche courante. .IP "\fB\-\-mr\-src\-project\fR" 4 .IX Item "--mr-src-project" Projet source. Défaut : projet courante trouvé en utilisant \fBgit remote \&\-\-verbose show\fR. .IP "\fB\-\-mr\-allow\-squash\fR, \fB\-\-no\-mr\-allow\-squash\fR" 4 .IX Item "--mr-allow-squash, --no-mr-allow-squash" Autorise le projet amont à regrouper les commits (squash), c'est la valeur par défaut. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_MR_ALLOW_SQUASH\s0\fR (yes/no) .IP "\fB\-\-mr\-remove\-source\-branch\fR, \fB\-\-no\-mr\-remove\-source\-branch\fR" 4 .IX Item "--mr-remove-source-branch, --no-mr-remove-source-branch" Effacer la branche source si la requête est acceptée. Défaut : no. .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_MR_REMOVE_SOURCE_BRANCH\s0\fR (yes/no) .SS "Options pour gérer d'autres instance GitLab" .IX Subsection "Options pour gérer d'autres instance GitLab" .IP "\fB\-\-api\-url\fR" 4 .IX Item "--api-url" \&\s-1API\s0 GitLab. Défaut : . .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_API_URL\s0\fR .IP "\fB\-\-git\-server\-url\fR" 4 .IX Item "--git-server-url" Défaut : \*(L"git@salsa.debian.org:\*(R" .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_GIT_SERVER_URL\s0\fR .IP "\fB\-\-irker\-server\-url\fR" 4 .IX Item "--irker-server-url" Défaut : \*(L"ircs://irc.oftc.net:6697/\*(R" .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_IRKER_SERVER_URL\s0\fR .IP "\fB\-\-kgb\-server\-url\fR" 4 .IX Item "--kgb-server-url" Défault : .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_KGB_SERVER_URL\s0\fR .IP "\fB\-\-tagpending\-server\-url\fR" 4 .IX Item "--tagpending-server-url" Défaut : .Sp Valeur \f(CW\*(C`.devscripts\*(C'\fR : \fB\s-1SALSA_TAGPENDING_SERVER_URL\s0\fR .PP \fIExemple de fichier de configuration\fR .IX Subsection "Exemple de fichier de configuration" .PP Exemple pour utiliser salsa avec (groupe \&\*(L"lemonldap-ng\*(R"): .PP .Vb 4 \& 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 .Ve .PP Ensuite pour l'utiliser, ajouter quelque chose comme suit dans votre fichier \&\f(CW\*(C`.bashrc\*(C'\fR : .PP .Vb 1 \& alias llng_admin=\*(Aqsalsa \-\-conffile ~/.salsa\-ow2.conf\*(Aq .Ve .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBdpt-salsa\fR .SH "AUTEUR" .IX Header "AUTEUR" Xavier Guimard .SH "COPYRIGHT ET LICENCE" .IX Header "COPYRIGHT ET LICENCE" Droits d'auteur (C) 2018, Xavier Guimard .PP Il contient du code copié depuis dpt-salsa \fI(pkg-perl-tools)\fR, droits d'auteur (C) 2018, gregor herrmann . .PP Ce programme est un logiciel libre ; il est permis de le distribuer et/ou de le modifier selon les termes de la \s-1GNU\s0 General Public License, telle que publiée par la Free Software Foundation, version 2 ou ultérieure. .PP Ce programme est distribué dans l'espoir qu'il sera utile, mais \s-1SANS AUCUNE GARANTIE\s0; sans même la garantie implicite de QUALITÉ \s-1MARCHANDE\s0 ou d'ADÉQUATION À \s-1UN USAGE PARTICULIER.\s0 Voir la licence publique générale \s-1GNU\s0 pour plus de détails. .PP Vous devriez avoir reçu une copie de la licence publique générale \s-1GNU\s0 avec ce programme. Sinon, voir . .SH "TRADUCTION" .IX Header "TRADUCTION" Cyril Brulebois <\fIcyril.brulebois@enst\-bretagne.fr\fR>, 2006 .PP Thomas Huriaux <\fIthomas.huriaux@gmail.com\fR>, 2006 .PP David Prévot <\fIdavid@tilapin.org\fR>, 2010\-2013 .PP Xavier Guimard <\fIyadd@debian.org\fR>, 2018\-2021