�
��abc @@ s) d d l m Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l
m Z m Z d d l
m Z d d l m Z m Z e j d � Z e j d � Z e j d
� Z e j d � Z e j d � Z e j d
� Z e j e � Z d e f d � � YZ d � Z e j e � d S( i ( t absolute_importN( t parse( t Link( t rmtreet display_path( t
indent_log( t vcst VersionControls
url="([^"]+)"s committed-rev="(\d+)"s URL: (.+)s Revision: (.+)s \s*revision="(\d+)"s (.*)t
Subversionc B@ s� e Z d Z d Z d Z d Z d � Z d � Z d � Z d
� Z d � Z
d � Z d
� Z d � Z
d � Z d � Z d � Z d � Z e d � � Z RS( t svns .svnt checkouts svn+sshs svn+https svn+httpss svn+svnc C@ s� | j d | g d t d i d d 6�} t j | � } | sg t j d t | � � t j d | � d S| j d � j
� } t j | � } | s� t j d t | � � t j d | � | d
f S| | j d � f S( s/ Returns (url, revision), where both are stringst infot show_stdoutt
extra_environt Ct LANGs' Cannot determine URL of svn checkout %ss! Output that cannot be parsed:
%si s, Cannot determine revision of svn checkout %sN( NN( t run_commandt Falset _svn_url_ret searcht loggert warningR t debugt Nonet groupt stript _svn_revision_re( t selft locationt outputt matcht url( ( s6 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyt get_info s(
c C@ s� | j � \ } } t | | � } | j | � } t j d | | � t � �H t j j | � rl t | � n | j
d g | | | g d t �Wd QXd S( s@ Export the svn repository at the url to the destination locations! Exporting svn repository %s to %st exportR N( t get_url_revt get_rev_optionst remove_auth_from_urlR R R t ost patht existsR R R ( R R R t revt rev_options( ( s6 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyR! ; s
c C@ s" | j d g | | | g � d S( Nt switch( R ( R t destR R) ( ( s6 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyR* J s c C@ s | j d g | | g � d S( Nt update( R ( R R+ R) ( ( s6 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyR, M s c C@ s� | j � \ } } t | | � } | j | � } | rC d | } n d } | j | | | | � r� t j d | | t | � � | j d d g | | | g � n d S( Ns (to revision %s)t s Checking out %s%s to %sR
s -q( R" R# R$ t check_destinationR R R R ( R R+ R R( R) t rev_display( ( s6 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyt obtainP s
c C@ s� x� | D]{ } t | � j } | s( q n d | k rY d j | j d � d � j � } n | } | | j k r | j d d � d Sq Wd S( Nt -i����t #i i ( R t egg_fragmentt joint splitt lowert keyR ( R t distt dependency_linksR R3 R7 ( ( s6 /usr/lib/python2.7/site-packages/pip/vcs/subversion.pyt get_locationa s
%c
C@ s� d } x� t j | � D]� \ } } } | j | k rA g | (q n | j | j � t j j | | j d � } t j j | � s� q n | j | � \ } } | | k r� | d } n$ | s� | j | � r� g | (q n t | | � } q W| S( sR
Return the maximum revision for all files under a given location
i t entriest /(
R% t walkt dirnamet removeR&