* Deprecates the --download-cache option & removes the download
cache code.
* Removes the in memory page cache on the index
* Uses CacheControl to cache all cacheable HTTP requests to the
filesystem.
* Properly handles CacheControl headers for unconditional
caching.
* Will use ETag and Last-Modified headers to attempt to do a
conditional HTTP request to speed up cache misses and turn
them into cache hits.
* Removes some concurrency unsafe code in the download cache
accesses.
* Uses a Cache-Control request header to limit the maximum
length of time a cache is valid for.
* Adds pip.appdirs to handle platform specific application
directories such as cache, config, data, etc.
Add a 'retry' option which allows to configure how many
retries pip should make before giving up on HTTP request.
When the retries count is specified by user, its value is
passed to HTTPAdapter from requests which handles all
the underlying operations.
Using sys.exc_info()[1] is a hack that was used to use a shared
source approach to Python 3.x support that also included versions
of Python that didn't include the except ... as exc: construction.
Pip no longer supports any of these versions of Python so we can
remove it.
This patch removes the error prone step of merging the baseparsers'
options (the 'Generic Options') with those of the subparser. In fact,
commands are already capable of parsing all options present in the
'Generic Options' option group. The option parsing logic is as follows:
Given a command line such as:
'--timeout 5 install --user pkg'
pip.parseopt() returns command 'install' with arguments:
'--timeout 5 --user pkg'
pip.main() executes the above as:
commands['install'](parser).main('--timeout 5 --user pkg', options)
Rework the way commands are defined, loaded and ran in pip:
- Commands are instantiated on demand in pip.main().
- A command 'registry' - mapping of command names to command classes in
pip.commands.__init__.
- Remove deferred command module loading.
A change was made to add extra logging whenever pip log files cannot be added.
Here is the changeset that caused the issue: 8ebc7a3160 (pip)/basecommand.py
Tested locally:
=====================================================
================== Running pep8 =====================
Searching for pep8
Reading http://pypi.python.org/simple/pep8/
Reading http://github.com/cburroughs/pep8.py/tree/master
Reading http://github.com/jcrocholl/pep8
Best match: pep8 0.6.1
Processing pep8-0.6.1-py2.7.egg
pep8 0.6.1 is already the active version in easy-install.pth
Installing pep8 script to
/Users/pnasrat/Development/pip/pip_virtualenv/bin
Using
/Users/pnasrat/Development/pip/pip_virtualenv/lib/python2.7/site-packages/pep8-0.6.1-py2.7.egg
Processing dependencies for pep8
Finished processing dependencies for pep8
==================== Ended pep8 =====================
=====================================================