Update the management commands to be compatible with Django 1.6+.

Review Request #8680 — Created Jan. 30, 2017 and submitted — Latest diff uploaded

Information

Djblets
release-0.10.x
5489521...

Reviewers

Newer versions of Django switched to using ArgumentParser instead of
OptionParser for arguments to management commands, and got rid of
NoArgsCommand. While ArgumentParser and OptionParser are fairly
compatible for most things, the changes to how options are registered in
Django management commands were fairly extensive, making it harder to
keep compatibility with both.

This change introduces a compatibility class for management commands
that allows the commands to code for the new style of argument
registration, while providing compatibility with the OptionParsers used
in Django 1.6. This can be used by projects that need to keep
compatibility between the two.

The management commands that ship with Djblets have been updated to use
the new class and new style of argument registration.

Tested each command on Django 1.6, 1.8, and 1.10.