Example. Assuming you set up GitHub account, forked pip repository from https://github.com/pypa/pip to your own page via web interface, and your fork is located at https://github.com/yourname/pip
$ git clone git@github.com:pypa/pip.git
$ cd pip
# ...
$ git diff
$ git add <modified> ...
$ git status
$ git commit
You may reference relevant issues in commit messages (like #1259) to make GitHub link issues and commits together, and with phrase like "fixes #1259" you can even close relevant issues automatically. Now push the changes to your fork:
$ git push git@github.com:yourname/pip.git
Open Pull Requests page at https://github.com/yourname/pip/pulls and click "New pull request". That's it.
All pull requests and merges to 'develop' branch are tested in Travis based on our .travis.yml file.
Usually, a link to your specific travis build appears in pull requests, but if not, you can find it on our travis pull requests page
The only way to trigger Travis to run again for a pull request, is to submit another change to the pull branch.
We also have Jenkins CI that runs regularly for certain python versions on windows and centos.
OS Requirements: subversion, bazaar, git, and mercurial.
Python Requirements: tox or pytest, virtualenv, scripttest, and mock
Ways to run the tests locally:
$ tox -e py33 # The preferred way to run the tests, can use pyNN to
# run for a particular version or leave off the -e to
# run for all versions.
$ python setup.py test # Using the setuptools test plugin
$ py.test # Using py.test directly
$ tox # Using tox against pip's tox.ini
If you are missing one of the VCS tools, you can tell py.test to skip it:
$ py.test -k 'not bzr'
$ py.test -k 'not svn'
The pip project welcomes help in the following ways:
If you want to become an official maintainer, start by helping out.
Later, when you think you're ready, get in touch with one of the maintainers, and they will initiate a vote.
Sometimes we need to release a bugfix release of the form X.Y.Z+1. In order to create one of these the changes should already be merged into the develop branch.