The pnda-cli has the notion of mandatory options, these being options (and hence optional) that are nonetheless required. The user is prompted for a value except in some particular conditions.
This is strange behaviour - standard argument parsing behaviour is to treat parameters as mandatory and options as optional. Trying to force argument parsing to work this way makes the code much more complex than it would otherwise be.
Furthermore, from release 4.0, the master branch now only contains historical releases prior to the current release. Unfortunately, the current pnda-cli defaults to the master branch if branch isn't supplied. Branch isn't a "required optional" parameter - it really is optional.
It's very important that people understand what version of platform-salt they're using with pnda-cli.
- Make mandatory arguments mandatory by nature (handle them as parameters, not options)
- Promote branch to a mandatory argument
- Rename branch to something that explicitly refers to platform-salt