Jannis Leidel  committed f8e6afb Merge

Upstream changes

  • Participants
  • Parent commits b01ab08, 6d21645

Comments (0)

Files changed (3)

File docs/index.txt

 If you are using `zc.buildout
-<>` you should look at
+<>`_ you should look at
 `gp.recipe.pip <>`_ as an
 option to use pip and virtualenv in your buildouts.

File docs/news.txt

 * Improvements on Windows (from `Ionel Maries Cristian
+* Fixed problem with not being able to install private git repositories.
+* Make ``pip zip`` zip all its arguments, not just the first.
-* Improved virtualenv restart and various path/cleanup problems on win32.
+* Improved virtualenv restart and various path/cleanup problems on win32.
 * Fixed a regression with installing from svn repositories (when not
   using ``-e``).
                     'The module %s (in %s) is not a directory; cannot be zipped'
                     % (module_name, filename))
             packages.append((module_name, filename))
+        last_status = None
         for module_name, filename in packages:
             if options.unzip:
-                return self.unzip_package(module_name, filename)
+                last_status = self.unzip_package(module_name, filename)
-                return self.zip_package(module_name, filename, options.no_pyc)
+                last_status = self.zip_package(module_name, filename, options.no_pyc)
+        return last_status
     def unzip_package(self, module_name, filename):
         zip_filename = os.path.dirname(filename)
         # This will also cache the page, so it's okay that we get it again later:
         page = self._get_page(main_index_url, req)
         if page is None:
-            url_name = self._find_url_name(Link(self.index_urls[0]), url_name, req)
+            url_name = self._find_url_name(Link(self.index_urls[0]), url_name, req) or req.url_name
         def mkurl_pypi_url(url):
             loc =  posixpath.join(url, url_name)
             # For maximum compatibility with easy_install, ensure the path 
             # Don't know what it is
             logger.warn('Git URL does not fit normal structure: %s' % repo)
             return '%s@%s#egg=%s-dev' % (repo, current_rev, egg_project_name)
+    def get_url_rev(self):
+        """
+        Returns the correct repository URL and revision by parsing the given
+        repository URL
+        """
+        url = self.url.split('+', 1)[1]
+        scheme, netloc, path, query, frag = urlparse.urlsplit(url)
+        rev = None
+        url = urlparse.urlunsplit((scheme, netloc, path, query, ''))
+        return url, rev