Hello,

first version of salsa script is ready to review. Documentation is here:
https://salsa.debian.org/yadd/devscripts/blob/devscripts-salsa-890594/scripts/salsa.pl

Resume:

 - usage
    salsa <options> <command> <args>
 - manage users in group:
    salsa --team-id=1234 add_user maintainer foobar
    salsa --team-id=1234 del_user foo
    salsa --team-id 1234 update_user owner foobar
    salsa --team-id 1234 team # list members
    salsa whoami
 - search id and other info
    salsa search_user yadd
    salsa search_team perl-team
 - manage repos
    salsa --user-id 1234 create_repo test
    salsa --team-id 123 --kgb --irc-channel=devscripts create_repo test
    salsa --team-id 123 --tagpending --desc --desc-pattern "Repo %p" \
         create_repo test
    salsa --user-id 1234 push_repo test # create repo based on
                                        # test/debian/changelog name
                                        # and push content
    salsa --user-id 1234 create_repo ./test # same as push_repo
    salsa --team-id 1234 update_repo test --tagpending
    salsa --team-id 1234 update_repo --all --desc \
          --desc-pattern "Perl Team package %p"
    salsa --user-id 1234 update_repo --all --desc # default value:
                                                  # "Debian package %p"

Of course, most of options can be set in ~/.devscripts. Example:

  SALSA_KGB=yes
  SALSA_IRC_CHANNEL=debian-perl
  SALSA_TEAM_ID=2665
  SALSA_DESC=yes
  SALSA_DESC_PATTERN="Perl team package %p"
  SALSA_TOKEN=abcdef

Then to enable IRC without changing description:
    salsa --team-id 1234 update_repo --all --no-desc

Or to update description but not KGB hook:
    salsa --team-id 1234 update_repo --all --no-kgb

Each command is a distinct little file in Devscripts::Salsa area, so I
think contributions will be easy.

QUESTION 1: is "salsa" a good name?

QUESTION 2: I think --all should fail unless current user is owner,
isn't it?

@gregoa: you will be able to embed Devscripts::Salsa and build a
Devscripts::Salsa::Config object to set values based on .dpt.conf
instead of using .devscripts

Cheers,
Xavier

Reply via email to