[Python-modules-commits] [git-review] 01/03: Import Upstream version 1.25.0

Allison Randal allison-guest at moszumanska.debian.org
Sun Aug 6 13:28:44 UTC 2017


This is an automated email from the git hooks/post-receive script.

allison-guest pushed a commit to branch master
in repository git-review.

commit 062fd9b2dd894a6239aadce7058f43801e02bddc
Author: Allison Randal <allison at lohutok.net>
Date:   Sat Aug 5 13:19:02 2017 -0400

    Import Upstream version 1.25.0
---
 .mailmap                                 |    9 +
 .testr.conf                              |    8 +
 AUTHORS                                  |   63 ++
 CONTRIBUTING.rst                         |   22 +
 ChangeLog                                |  402 ++++++++
 HACKING.rst                              |  311 ++++++
 LICENSE                                  |  202 ++++
 MANIFEST.in                              |    7 +
 PKG-INFO                                 |   24 +
 README.rst                               |   12 +
 doc/Makefile                             |  177 ++++
 doc/source/conf.py                       |  252 +++++
 doc/source/developing.rst                |   23 +
 doc/source/index.rst                     |   22 +
 doc/source/installation.rst              |   90 ++
 doc/source/usage.rst                     |   55 ++
 git-review.1                             |  465 +++++++++
 git_review.egg-info/PKG-INFO             |   24 +
 git_review.egg-info/SOURCES.txt          |   36 +
 git_review.egg-info/dependency_links.txt |    1 +
 git_review.egg-info/entry_points.txt     |    3 +
 git_review.egg-info/not-zip-safe         |    1 +
 git_review.egg-info/pbr.json             |    1 +
 git_review.egg-info/requires.txt         |    2 +
 git_review.egg-info/top_level.txt        |    1 +
 git_review/__init__.py                   |    0
 git_review/cmd.py                        | 1538 ++++++++++++++++++++++++++++++
 git_review/tests/__init__.py             |  325 +++++++
 git_review/tests/prepare.py              |   26 +
 git_review/tests/test_git_review.py      |  463 +++++++++
 git_review/tests/test_unit.py            |  296 ++++++
 git_review/tests/utils.py                |   84 ++
 requirements.txt                         |    2 +
 setup.cfg                                |   48 +
 setup.py                                 |   20 +
 test-requirements.txt                    |    8 +
 tox.ini                                  |   32 +
 37 files changed, 5055 insertions(+)

diff --git a/.mailmap b/.mailmap
new file mode 100644
index 0000000..9757c06
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,9 @@
+# Format is:
+# <preferred e-mail> <other e-mail 1>
+# <preferred e-mail> <other e-mail 2>
+
+David Ostrovsky <david at ostrovsky.org> <David.Ostrovsky at gmx.de>
+David Ostrovsky <david at ostrovsky.org> <david.ostrovsky at gmx.de>
+James E. Blair <james.blair at rackspace.com> <jeblair at openstack.org>
+James E. Blair <james.blair at rackspace.com> <corvus at inaugust.com>
+James E. Blair <james.blair at rackspace.com> <jeblair at hp.com>
diff --git a/.testr.conf b/.testr.conf
new file mode 100644
index 0000000..75c2bce
--- /dev/null
+++ b/.testr.conf
@@ -0,0 +1,8 @@
+[DEFAULT]
+test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
+             OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
+             OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
+             ${PYTHON:-python} -m subunit.run discover -t ./ ./git_review/tests $LISTOPT $IDOPTION
+
+test_id_option=--load-list $IDFILE
+test_list_option=--list
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..0ecc870
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,63 @@
+Aaron Schulz <aschulz4587 at gmail.com>
+Alexander Jones <alex at weej.com>
+Anders Kaseorg <andersk at mit.edu>
+Andreas Jaeger <aj at suse.de>
+Andrew Karnani <andrew at akarnani.com>
+Anita Kuno <akuno at lavabit.com>
+Antoine Musso <hashar at free.fr>
+Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
+Catrope <roan.kattouw at gmail.com>
+Cedric Brandily <zzelle at gmail.com>
+Chmouel Boudjnah <chmouel at chmouel.com>
+Christian Berendt <berendt at b1-systems.de>
+Clark Boylan <clark.boylan at gmail.com>
+Clint Adams <clint at gcfm.net>
+Daniel P. Berrange <berrange at redhat.com>
+Darragh Bailey <daragh.bailey at gmail.com>
+Darragh Bailey <dbailey at hp.com>
+David Ostrovsky <david at ostrovsky.org>
+Dereckson <dereckson at espace-win.org>
+Dexter Fryar <dexter.fryar at outlook.com>
+Diederik <dvanliere at wikimedia.org>
+Dina Belova <dbelova at mirantis.com>
+Dmitry Ratushnyy <dratushn at cisco.com>
+Doug Hellmann <doug at doughellmann.com>
+Eric Harney <eharney at redhat.com>
+Hugh Saunders <hugh at wherenow.org>
+JC Delay <jcd.delay at gmail.com>
+James E. Blair <james.blair at rackspace.com>
+Jason Axelson <bostonvaulter at gmail.com>
+Jeremy Stanley <fungi at yuggoth.org>
+John Vandenberg <jayvdb at gmail.com>
+Julien Danjou <julien at danjou.info>
+K Jonathan Harker <code at gentlydownthe.net>
+Kiall Mac Innes <kiall at managedit.ie>
+Krenair <krenair at gmail.com>
+Lorin Hochstein <lorin at isi.edu>
+Marcin Cieslak <saper at saper.info>
+Mark McLoughlin <markmc at redhat.com>
+Matthieu Baerts <matttbe at gmail.com>
+Merlijn van Deen <valhallasw at gmail.com>
+Michael Johnson <Michael.Johnson at sas.com>
+Michael Krotscheck <krotscheck at gmail.com>
+Michael Pratt <michael at pratt.im>
+Michael Still <mikal at stillhq.com>
+Miklos Vajna <vmiklos at suse.cz>
+Monty Taylor <mordred at inaugust.com>
+Morgan Fainberg <m at metacloud.com>
+Ori Livneh <ori at wikimedia.org>
+Paul Belanger <paul.belanger at polybeacon.com>
+Pavel Sedlák <psedlak at redhat.com>
+Pete Zaitcev <zaitcev at kotori.zaitcev.us>
+Roger Luethi <rl at patchworkscience.org>
+Saggi Mizrahi <smizrahi at redhat.com>
+Steve Kowalik <steven at wedontsleep.org>
+Thomas Goirand <thomas at goirand.fr>
+Tim Landscheidt <tim at tim-landscheidt.de>
+Vishvananda Ishaya <vishvananda at gmail.com>
+Yuriy Taraday <yorik.sar at gmail.com>
+david <dlenwell at gmail.com>
+gholt <z-launchpad at brim.net>
+julien.marinfrisonroche <julien.marinfrisonroche at thalesgroup.com>
+liuyang1 <lujing.zui at gmail.com>
+saper <saper at saper.info>
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
new file mode 100644
index 0000000..333d221
--- /dev/null
+++ b/CONTRIBUTING.rst
@@ -0,0 +1,22 @@
+============================
+ Contributing to git-review
+============================
+
+To get the latest code, see: https://git.openstack.org/cgit/openstack-infra/git-review
+
+Bugs are handled at: https://storyboard.openstack.org/#!/project/719
+
+There is a mailing list at: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
+
+Code reviews, as you might expect, are handled by gerrit at:
+https://review.openstack.org
+
+See http://wiki.openstack.org/GerritWorkflow for details. Pull
+requests submitted through GitHub will be ignored.
+
+Use ``git review`` to submit patches (after creating a gerrit account
+that links to your launchpad account). Example::
+
+    # Do your commits
+    git review
+    # Enter your username if prompted
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..e2d973a
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,402 @@
+CHANGES
+=======
+
+1.25.0
+------
+
+* Add “git-review -l” to man page synopsis and usage doc
+* Add reviewers on upload
+* Update project links
+* Override E-mail in Gerrit integration tests
+* Fixed a dead link to the git-review docs
+* Provide an explanation on failed rebase
+* Switch to requests to support proxying of 'https'
+* Use plumbing rev-parse to get the branch name
+* Isolate tests from user/system git configuration
+* Push language override down into the cmd wrapper
+* git review -sv gets more verbose
+* Add utf-8 char support
+* Choose tracked branch for rebase when submitting
+* pbr should install the manpage
+* get_remote_url(): also honor url.*.pushInsteadOf
+* Support authentication in run_http_exc
+* Split README.rst into separate doc files
+* Handle correctly http error raise in run_http_exc
+* Fix encoding header
+* Workflow documentation is now in infra-manual
+* Update tests to use Gerrit 2.9.2
+* Use 'no_proxy' env variable in addition to uppercase
+* Enable color support based on tty and config
+* get_remote_url(): honor any "url.<base>.insteadOf" config setting
+* Convert add_remote to use GitReviewExceptions
+* Prefer git-config over git-review config files
+* Isolate tests from user/system config
+* Switched documentation to point to storyboard
+* Fix ---list and "departement" typos in man page
+* Align git-review and python -m git_review.cmd behaviors
+* Define -T/--no-topic to disable review submit with topic
+* Work toward Python 3.4 support and testing
+* -F/--force-rebase has no effect if rebase is disabled by config
+* Remove useless constants
+* Improve windows support for git-review --setup
+* Fix groff warnings with manpage
+* Enabled hacking checks H305 and H307
+* Prevent long subjects in reviews causing spurious blank lines
+* added link to get-pip to readme
+* Disable ssh/scp password authentication during tests
+* Update tests to use Gerrit 2.8.6.1
+* Build universal wheels
+
+1.24
+----
+
+* Update homepage on PyPI
+* Update requirements to OpenStack's recommendations
+* Update the README to mention dependencies
+* Avoid a stacktrace when no reviews are pending
+* Ensure username is set for all tests
+* Provide nicer user message for missing remote ref
+* Fix a typo in HACKING.rst
+* Ignore newline in bp/bug search in commit message
+* Restrict tests SSH auth to only the provided key
+* Disable proxies for tests that clone over http
+* Keep track of gerrit.war and golden_site versions
+* Fix typo in manpage s/gireview/gitreview/
+* Correct git review -l over http(s)
+* Topic: do not use '(detached' when detached
+* Use gerrit 2.8.5 instead of gerrit 2.6.1 in tests
+* Allow to specify default scheme in .gitreview file
+* Correct test_remote to support branchs without upstream
+* Remove parsing of --help and variants from our code
+* Python2: fixed UnicodeEncodeError
+* Skip invalid unicode in commit messages
+* Git review assumes the wrong ssh default port
+* Add http(s) protocol support to fetch_review and list_reviews
+* git-review.1 manpage fix for groff warnings
+* Fix parsing of SCP-style URLs, as these are valid in Git itself
+* "git review --setup" failed in Chinese locale
+* Bump hacking version in requirements
+* Reduce testr concurrnecy to 2
+* Add http(s) protocol support to set_hooks_commit_msg
+* Retrieve remote pushurl independently of user's locale
+* Add http(s) protocol support to test_remote
+* Verify if every attached file exists. Attach gerrig.config
+* Wrap exceptions that occur while running external process
+* Make Gerrit port and dir selection deterministic
+* Don't try to attach known_hosts if it's not there
+* Remove tox locale overrides
+* Fix the regex for setting topic
+* Add 2m timeout to tests
+* Attach Gerrit logs and known_hosts to failed tests
+* Change test gerrit ssh/http ports offset
+* Correct .Fl typo WRT --compare in the manual page
+* Ignore content of merge commits in reporting
+* Remove empty lines from git log output
+* Preserve merges when doing a rebase
+* Split git rev-parse --show-toplevel --git-dir on newline
+* Prefer .gitconfig username
+* Add more deterministic port selection for Gerrit
+* Document source location as git.openstack.org
+* Implement integration tests
+* Migrate to pbr
+* No longer check for new git-review releases
+
+1.23
+----
+
+* Wrap long lines
+* Pin hacking <0.6
+* Fix str(None) bug in port detection for hook setup
+* Fix pep8 deps for pyflakes version conflict
+* Expand multiple commit submission warning
+* Start development of 1.23
+
+1.22
+----
+
+* Provide usage help even if not in Git directory
+* Document defaultremote option & site/user configs
+* Allow per-site and per-user Gerrit defaults
+* Rename README.md to README.rst
+* Add venv testenv to tox.ini
+* Start development of 1.22
+
+1.21
+----
+
+* Align to OpenStack Hacking guidelines
+* Switch to flake8 from pep8
+* Allow per-user override of -R setting
+* git_config_get_value to return None
+* Use the local branch name as topic only if it is different from remote
+* Jeremy's manpath workaround breaks on Fedora
+* Compare different Patch Sets of Review
+* bug/1144800: Fix fatal: both revision and filename
+* Changed the text of the manpage to read "make it easier to comprehend Gerrit"
+* Don't call get_branch_name from assert_one_change
+* Add custom scripts features
+* Download specific Patch Set for Review
+* Make README.md ReST-friendly
+* Document gitreview.username
+* Better determine git directories
+* Don't fetch remote outside of rebase flow
+* Make it possible to cherry-pick a change
+* Check HEAD for extra commits instead of master
+* Check that the owner of a change has name defined
+* Topic name should be determined only for git push
+* Fix regression in repeated -d of the same change
+* Remove two else: blocks in main()
+* Update README for project move
+* Updated .gitreview location
+* Add mailing list to README
+* Use exceptions for list_reviews
+* Use exceptions for finish_review
+* Use exceptions for download_review
+* git-review(1): explain exit code ranges
+* Introduce base exception classes
+* Follow up I92b8637c: Fix Python 3 compatibility
+* Start development on 1.21
+* Remove reference to nonexistent requirements.txt
+
+1.20
+----
+
+* Avoid symlinks in the manpage path
+* Start development on 1.20
+
+1.19
+----
+
+* Revert "Introduce base exception classes"
+* Introduce base exception classes
+* Revert "Introduce base exception classes"
+* Revert "git-review(1): explain exit code ranges"
+* git-review(1): explain exit code ranges
+* Introduce base exception classes
+* Review list fields should have constant widths
+* manpage minor fixes with no output changes
+* Make setup.py less Linux-specific, more UNIX-compliant
+* Fixing ponctuation issue
+* Introduce CommandFailed exception for run_command
+* Use run_command_status *argv for ssh and scp
+* Refactor run_command to use *args, **kwargs
+* Get rid of "status" parameter in run_command
+* Due to gerrit bug regeneration of Change-Id must be nessecary
+* Don't rebase if the rebase doesn't conflict
+* Allow download of reviews from deleted accounts
+* Python 3 compatibility fixes
+* Add flag to push to refs/for/* for compatibilty
+* Add Python 3 support
+* Just fixing a small typo
+* Revert to 1.17
+* Configure a pep8 tox environment
+* Fixes typos and omission in failed review list
+* Allow download of reviews from deleted accounts
+* Start development on 1.19
+
+1.18
+----
+
+* Reversed the is:reviewable logic
+* Add ability to upload as work in progress
+* Filter list by is:reviewable by default
+* Due to gerrit bug regeneration of Change-Id must be nessecary
+* Don't rebase if the rebase doesn't conflict
+* Add open action
+* Add setup, list and download actions
+* Get current branch more concisely
+* fix missing username attribute in JSON stream
+* Rename submit action to upload
+* Fix no-change detection
+* Fix pep8 errors with 1.3.1
+* Add optional 'submit' positional argument
+* Add flag to push to refs/for/* for compatibilty
+* Add review scores to listing
+* Add Review, PatchSet and Hacker classes
+* Return a json result iterator from run_ssh_query()
+* Only list reviews for the current branch
+* Refactor out run_ssh_query() method
+* Add Python 3 support
+* Just fixing a small typo
+* Start dev on 1.18
+
+1.17
+----
+
+* Fixed hook installation for git with submodules
+* Update publish ref from refs/for to refs/publish
+* Run 'git remote update' from assert_one_change
+* Fix --list breakage in 3531a5bffd4f
+* Disable ssh X11 forwarding
+* Add support to list changes for review
+* Removed parsing out of team
+* fix -d not reusing already existing local branch
+* Start development on 1.17
+
+1.16
+----
+
+* Change draft ref to drafts
+* Fix scope error with configParser
+* Retrieve project & team name from fetch url
+* minor glitches in manpage
+* More resilient downloading
+* Override remote options: update manpage
+* Reformat manpage to mdoc(7)
+* Allow the user to override remote consequently
+* enhance man page
+* bump year references from 2011 to 2012
+* Start development on 1.16
+
+1.15
+----
+
+* Actually fix the urlparse bug in OSX
+* Start dev on 1.15
+
+1.14
+----
+
+* Fix an obvious breakage on OSX
+* Start dev on 1.14
+
+1.13
+----
+
+* Workaround for OSX urlparse issue
+* Include timing info in verbose output
+* Remove automagic requirements.txt
+* Use dirname instead of basename
+* accepts color.ui boolean values
+* Started 1.13
+
+1.12
+----
+
+* Provide easy flag for disabling update check
+* Freeze requirements for sdist packages
+* Start 1.12
+
+1.11
+----
+
+* Start 1.11
+
+1.10
+----
+
+* Added tox support for testing pep8
+* Added dependencies in requirements.txt
+* Add myself to AUTHORS
+* Add support for Gerrit 2.2.2's "Draft" status
+* Remove useless username parameter from add_remote
+* Make the default branch configurable
+* Break out the config reading into its own method
+* Don't hardcode 'master'
+* Fix typo (Ammending -> Amending)
+* Switch from 'git show' to 'git log'
+* Migrate to argparse. optparse is deprecated
+* Make readme links clickable
+* Add installation instructions to readme
+* Clarify instructions for contributing
+* Add .gitreview instructions to readme
+* Post 1.9 release version bump
+
+1.9
+---
+
+* Remove commit --amend from hook installation
+* Bump version post release
+
+1.8
+---
+
+* Prep for release of 1.8
+* Document the new command line options
+* Only pass plain strings to shlex.split
+* Add --finish option to git-review
+* Remove the commands module and use subprocess
+* Add workaround for broken urlparse
+* Install hook via scp rather than http
+* Use specified remote for getting commit hook
+* Fix bug 901030
+
+1.7
+---
+
+* Use fetch/checkout instead of pull
+* Only use color on systems that support it
+* Create .git/hooks directory if not present
+* Version bump post release
+
+1.6
+---
+
+* Check git config for default username
+* Handle usernames better in remote setup
+* Added Saggi to AUTHORS file. Thanks Saggi!
+* Spruced up the README just a bit
+* Show branches and tags when showing git log
+* Better handling of the color git configuration
+* commit_msg declared but never used
+* In detached head, use the target branch as topic
+* Always show the list of outstanding commits
+* Fix multi-change confirmation testing
+* Force single-version-externally-managed
+* Removed old doc from MANIFEST.in
+* setup.py should point to launchpad project page
+* Check to ensure that only one change is submitted
+* Post release version bump
+
+1.5
+---
+
+* Oops. Left git-review.1 out of the MANIFEST.in
+
+1.4
+---
+
+* Replace sphinx manpage with manual one
+* Bump version after release
+
+1.3
+---
+
+* Clean up documentation; add --version
+* Bump version after release
+
+1.2
+---
+
+* Better guessing of username
+* Check .gitreview file in repo for location of gerrit
+* fixed problem downloading changes
+* Replace git fetch with git remote update
+* Add --setup command for a pro-active repo setup
+* Updated docs to describe setup
+* Wrap sphinx calls in a try/except block
+* Update version after release
+
+1.1
+---
+
+* Replace tuple with list to unconfuse setuptools
+* Added support for fixing existing gerrit remotes
+* Always run git fetch so that commits are available for rebase
+* Pull version in directly from git-review
+* Fix manpage installation for setup.py install
+* Add remote arg to git remote update
+* Install man pages
+* Added support for download command
+* Handle repos cloned from github git urls
+* Fix git push command
+* Bumped version after release to PyPI
+
+1.0
+---
+
+* Support openstack-ci github organization
+* Added the remote option and updated README
+* Bug fixes relating to first-time runs
+* Added support for updating
+* Ported rfc.sh to a standalone program
diff --git a/HACKING.rst b/HACKING.rst
new file mode 100644
index 0000000..17a97e4
--- /dev/null
+++ b/HACKING.rst
@@ -0,0 +1,311 @@
+Hacking git-review
+==================
+
+Development of git-review is managed by OpenStack's Gerrit, which can be
+found at https://review.openstack.org/
+
+Instructions on submitting patches can be found at
+http://docs.openstack.org/infra/manual/developers.html#development-workflow
+
+git-review should, in general, not depend on a huge number of external
+libraries, so that installing it is a lightweight operation.
+
+OpenStack Style Commandments
+============================
+
+- Step 1: Read http://www.python.org/dev/peps/pep-0008/
+- Step 2: Read http://www.python.org/dev/peps/pep-0008/ again
+- Step 3: Read on
+
+
+General
+-------
+- Put two newlines between top-level code (funcs, classes, etc)
+- Use only UNIX style newlines ("\n"), not Windows style ("\r\n")
+- Put one newline between methods in classes and anywhere else
+- Long lines should be wrapped in parentheses
+  in preference to using a backslash for line continuation.
+- Do not write "except:", use "except Exception:" at the very least
+- Include your name with TODOs as in "#TODO(termie)"
+- Do not shadow a built-in or reserved word. Example::
+
+    def list():
+        return [1, 2, 3]
+
+    mylist = list() # BAD, shadows `list` built-in
+
+    class Foo(object):
+        def list(self):
+            return [1, 2, 3]
+
+    mylist = Foo().list() # OKAY, does not shadow built-in
+
+- Use the "is not" operator when testing for unequal identities. Example::
+
+    if not X is Y:  # BAD, intended behavior is ambiguous
+        pass
+
+    if X is not Y:  # OKAY, intuitive
+        pass
+
+- Use the "not in" operator for evaluating membership in a collection. Example::
+
+    if not X in Y:  # BAD, intended behavior is ambiguous
+        pass
+
+    if X not in Y:  # OKAY, intuitive
+        pass
+
+    if not (X in Y or X in Z):  # OKAY, still better than all those 'not's
+        pass
+
+
+Imports
+-------
+- Do not import objects, only modules (*)
+- Do not import more than one module per line (*)
+- Do not use wildcard ``*`` import (*)
+- Do not make relative imports
+- Do not make new nova.db imports in nova/virt/*
+- Order your imports by the full module path
+- Organize your imports according to the following template
+
+(*) exceptions are:
+
+- imports from ``migrate`` package
+- imports from ``sqlalchemy`` package
+- imports from ``nova.db.sqlalchemy.session`` module
+- imports from ``nova.db.sqlalchemy.migration.versioning_api`` package
+
+Example::
+
+  # vim: tabstop=4 shiftwidth=4 softtabstop=4
+  {{stdlib imports in human alphabetical order}}
+  \n
+  {{third-party lib imports in human alphabetical order}}
+  \n
+  {{nova imports in human alphabetical order}}
+  \n
+  \n
+  {{begin your code}}
+
+
+Human Alphabetical Order Examples
+---------------------------------
+Example::
+
+  import httplib
+  import logging
+  import random
+  import StringIO
+  import time
+  import unittest
+
+  import eventlet
+  import webob.exc
+
+  import nova.api.ec2
+  from nova.api import openstack
+  from nova.auth import users
+  from nova.endpoint import cloud
+  import nova.flags
+  from nova import test
+
+
+Docstrings
+----------
+Example::
+
+  """A one line docstring looks like this and ends in a period."""
+
+
+  """A multi line docstring has a one-line summary, less than 80 characters.
+
+  Then a new paragraph after a newline that explains in more detail any
+  general information about the function, class or method. Example usages
+  are also great to have here if it is a complex class or function.
+
+  When writing the docstring for a class, an extra line should be placed
+  after the closing quotations. For more in-depth explanations for these
+  decisions see http://www.python.org/dev/peps/pep-0257/
+
+  If you are going to describe parameters and return values, use Sphinx, the
+  appropriate syntax is as follows.
+
+  :param foo: the foo parameter
+  :param bar: the bar parameter
+  :returns: return_type -- description of the return value
+  :returns: description of the return value
+  :raises: AttributeError, KeyError
+  """
+
+
+Dictionaries/Lists
+------------------
+If a dictionary (dict) or list object is longer than 80 characters, its items
+should be split with newlines. Embedded iterables should have their items
+indented. Additionally, the last item in the dictionary should have a trailing
+comma. This increases readability and simplifies future diffs.
+
+Example::
+
+  my_dictionary = {
+      "image": {
+          "name": "Just a Snapshot",
+          "size": 2749573,
+          "properties": {
+               "user_id": 12,
+               "arch": "x86_64",
+          },
+          "things": [
+              "thing_one",
+              "thing_two",
+          ],
+          "status": "ACTIVE",
+      },
+  }
+
+
+Calling Methods
+---------------
+Calls to methods 80 characters or longer should format each argument with
+newlines. This is not a requirement, but a guideline::
+
+    unnecessarily_long_function_name('string one',
+                                     'string two',
+                                     kwarg1=constants.ACTIVE,
+                                     kwarg2=['a', 'b', 'c'])
+
+
+Rather than constructing parameters inline, it is better to break things up::
+
+    list_of_strings = [
+        'what_a_long_string',
+        'not as long',
+    ]
+
+    dict_of_numbers = {
+        'one': 1,
+        'two': 2,
+        'twenty four': 24,
+    }
+
+    object_one.call_a_method('string three',
+                             'string four',
+                             kwarg1=list_of_strings,
+                             kwarg2=dict_of_numbers)
+
+
+Internationalization (i18n) Strings
+-----------------------------------
+In order to support multiple languages, we have a mechanism to support
+automatic translations of exception and log strings.
+
+Example::
+
+    msg = _("An error occurred")
+    raise HTTPBadRequest(explanation=msg)
+
+If you have a variable to place within the string, first internationalize the
+template string then do the replacement.
+
+Example::
+
+    msg = _("Missing parameter: %s") % ("flavor",)
+    LOG.error(msg)
+
+If you have multiple variables to place in the string, use keyword parameters.
+This helps our translators reorder parameters when needed.
+
+Example::
+
+    msg = _("The server with id %(s_id)s has no key %(m_key)s")
+    LOG.error(msg % {"s_id": "1234", "m_key": "imageId"})
+
+
+Creating Unit Tests
+-------------------
+For every new feature, unit tests should be created that both test and
+(implicitly) document the usage of said feature. If submitting a patch for a
+bug that had no unit test, a new passing unit test should be added. If a
+submitted bug fix does have a unit test, be sure to add a new one that fails
+without the patch and passes with the patch.
+
+For more information on creating unit tests and utilizing the testing
+infrastructure in OpenStack Nova, please read nova/tests/README.rst.
+
+
+Running Tests
+-------------
+The testing system is based on a combination of tox and testr. The canonical
+approach to running tests is to simply run the command `tox`. This will
+create virtual environments, populate them with depenedencies and run all of
+the tests that OpenStack CI systems run. Behind the scenes, tox is running
+`testr run --parallel`, but is set up such that you can supply any additional
+testr arguments that are needed to tox. For example, you can run:
+`tox -- --analyze-isolation` to cause tox to tell testr to add
+--analyze-isolation to its argument list.
+
+It is also possible to run the tests inside of a virtual environment
+you have created, or it is possible that you have all of the dependencies
+installed locally already. In this case, you can interact with the testr
+command directly. Running `testr run` will run the entire test suite. `testr
+run --parallel` will run it in parallel (this is the default incantation tox
+uses.) More information about testr can be found at:
+http://wiki.openstack.org/testr
+
+
+openstack-common
+----------------
+
+A number of modules from openstack-common are imported into the project.
+
+These modules are "incubating" in openstack-common and are kept in sync
+with the help of openstack-common's update.py script. See:
+
+  http://wiki.openstack.org/CommonLibrary#Incubation
+
+The copy of the code should never be directly modified here. Please
+always update openstack-common first and then run the script to copy
+the changes across.
+
+OpenStack Trademark
+-------------------
+
+OpenStack is a registered trademark of the OpenStack Foundation, and uses the
+following capitalization:
+
+   OpenStack
+
+
+Commit Messages
+---------------
+Using a common format for commit messages will help keep our git history
+readable. Follow these guidelines:
+
+  First, provide a brief summary of 50 characters or less.  Summaries
+  of greater then 72 characters will be rejected by the gate.
+
+  The first line of the commit message should provide an accurate
+  description of the change, not just a reference to a bug or
+  blueprint. It must be followed by a single blank line.
+
+  If the change relates to a specific driver (libvirt, xenapi, qpid, etc...),
+  begin the first line of the commit message with the driver name, lowercased,
+  followed by a colon.
+
+  Following your brief summary, provide a more detailed description of
+  the patch, manually wrapping the text at 72 characters. This
+  description should provide enough detail that one does not have to
+  refer to external resources to determine its high-level functionality.
+
+  Once you use 'git review', two lines will be appended to the commit
+  message: a blank line followed by a 'Change-Id'. This is important
+  to correlate this commit with a specific review in Gerrit, and it
+  should not be modified.
+
+For further information on constructing high quality commit messages,
+and how to split up commits into a series of changes, consult the
+project wiki:
+
+   http://wiki.openstack.org/GitCommitMessages
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..75b5248
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
... 4321 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/git-review.git



More information about the Python-modules-commits mailing list