versioning: add support for non-series information in the version string
libvirt uploads (SRUs) have versions like 1.2.2-0ubuntu13.1.23 which break
our parsing, which assumes anything between ubuntu_maj and ubuntu_min
is either a series or invalid. Extend our parsing to allow for an "other"
field, which is set when the substring between maj and min cannot be
parsed as a version.
git_repository::fetch*: set GIT_TERMINAL_PROMPT=0 in env
When using http/https, LP will prompt for auth if a repository
is not found, because LP cannot distinguish between a private
repository (permission issue) and a non-existent repository until
the user is authenticated. This causes git itself to prompt
for authentication on the command-line, which we do not want. Since
we are only using http/https for fetch, disable the Git terminal
prompt via an environment variable. This does make clone and
review noisier, but that can be resolved in a future commit.
- parse_args for argument parsing
- cli_main which is called via the func redirection (this could be
dropped in the future)
- main which cli_main calls, and is the proper inter-module entry
point
With that structure, rather than using per-module classes, just import
each module in __main__ in order to call its parse_args and func (which
in the current implementation is that module's cli_main).
Some unused arguments (e.g., pullfile in a few modules) are also
dropped.
submit can be used for distributed development among team members by
proposing MPs against each other's repositories, via the --target-user
flag. Rather than having submit-specific code for deriving the target
branch, use the existing code from lint, after extending it to take a
namespace argument.
gitubuntu/__main__: refactor global defaults to a namedtuple
We eventually want to have sane defaults for each subcommands entry
point, but some defaults are only known at the top-level. Provide a
simple namedtuple type to store the toplevel defaults.
The jenkins job now clones a repo and builds a snap from
potential branches. This does not quite work if our yaml
always builds master. Have it use the local dir instead.