Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/Tools/scripts/__pycache__/treesync.cpython-33.pyo

�
��f6c@s�dZddlZddlZddlZddlZdZdZdadada	dd�Z
dd	�Zd
d�ZdZ
dd�Zdd�Zdd�Zddddd�Zdd�Zddd�Zedkr�e
�ndS(u�Script to synchronize two source trees.

Invoke with two arguments:

python treesync.py slave master

The assumption is that "master" contains CVS administration while
slave doesn't.  All files in the slave tree that have a CVS/Entries
entry in the master tree are synchronized.  This means:

    If the files differ:
        if the slave file is newer:
            normalize the slave file
            if the files still differ:
                copy the slave to the master
        else (the master is newer):
            copy the master to the slave

    normalizing the slave means replacing CRLF with LF when the master
    doesn't use CRLF

iNuaskuyesunocCsOtjtjdd�d�\}}x�|D]�\}}|dkrMd}n|dkrbd}n|dkrw|an|dkr�|an|d	kr�|an|d
kr�|}n|dkr,|}aaaq,q,Wy|\}}WnPtk
r=tdtjd
pddd�tddd�td�dSYnXt||�dS(Niunym:s:d:f:a:u-yuyesu-nunou-su-mu-du-fu-au
usage: pythoniutreesync.pyuendu u5[-n] [-y] [-m y|n|a] [-s y|n|a] [-d y|n|a] [-f n|y|a]uslavedir masterdir(	ugetoptusysuargvuwrite_slaveuwrite_masterucreate_directoriesu
ValueErroruprintuprocess(uoptsuargsuouaudefault_answerucreate_filesuslaveumaster((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyumain#s0%						
 
	umaincCs�tjj|d�}tjj|�sBtd|�td�dStdd�td|�td|�tjj|�s td|d	t�s�td|�td
|�dStd|�ytj|�Wn?tjk
r}ztd|d
|�dSWYdd}~Xq Xtd|�nd}g}tj
|�}x�|D]�}tjj||�}tjj||�}|dkr�|}qBtjj|�rBtjj|�rB|j||f�qBqBW|rttjj|d�}	x�t
|	�j�D]y}
|
jd�}|ddkr�|dd�r�|d}tjj||�}tjj||�}
t||
�q�q�Wnx!|D]\}}
t||
�q{WdS(NuCVSuskipping master subdirectoryu-- not under CVSu-i(uslave umasterucreate slave directory %s?uansweru-- no corresponding slaveucreating slave directoryucan't make slave directoryu:umade slave directoryuEntriesu/iui(uosupathujoinuisdiruprintuokayucreate_directoriesumkdiruerroruNoneulistdiruislinkuappenduopenu	readlinesusplitucompareuprocess(uslaveumasterucvsdirumsgusubdirsunamesunameu
masternameu	slavenameuentriesueuwordsusum((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyuprocess?sT




	



	% 
uprocesscCs�yt|d�}Wntk
r-d}YnXyt|d�}Wntk
r[d}YnX|s�|sytd|�dStd|�t||dt�dS|s�td|�dS|r�|r�t||�r�dSnt|�}t|�}||kr?|j�|j�td|�td|�t||dt	�dStd	||d
�|j
d�t|�}|j�|j�|r�td�t||ddt�n td
�t||ddt�dS(NururbuNeither master nor slave existsuCreating missing slaveuansweruNot updating missing masteruMaster             uis newer than slaveuSlave isuseconds newer than masteriu#***UPDATING MASTER (BINARY COPY)***u***UPDATING MASTER***(
uopenuIOErroruNoneuprintucopyucreate_filesu	identicalumtimeucloseuwrite_slaveuseeku
funnycharsuwrite_master(uslaveumasterusfumfusftumftufun((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyucomparemsP













ucompareiicCsBx;|jt�}|jt�}||kr1dS|sPqqdS(Nii(ureaduBUFSIZE(usfumfusdumd((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyu	identical�su	identicalcCs tj|j��}|tjS(N(uosufstatufilenoustatuST_MTIME(ufust((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyumtime�sumtimecCs?x8|jt�}|sPnd|ks4d|krdSqdS(Nu
uii(ureaduBUFSIZE(ufubuf((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyu
funnychars�su
funnycharsurbuwbcCs�td|�td|�td|�s-dSt||�}t||�}x)|jt�}|sgPn|j|�qN|j�|j�dS(Nucopyingu     touokay to copy? (uprintuokayuopenureaduBUFSIZEuwriteuclose(usrcudsturmodeuwmodeuanswerufugubuf((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyucopy�s


ucopycCs*tjj|�tjj�tjj�S(N(usysustdoutuwriteuflushustdinureadline(uprompt((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyu	raw_input�s
u	raw_inputcCs�|j�j�}|s)|ddkrYt|�}|j�j�}|sYt}qYn|dd�dkrsdS|dd�dkr�dStd�t|�S(NiunyiuyunuYes or No please -- try again:(ustripuloweruinputudefault_answeruprintuokay(upromptuanswer((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyuokay�s
uokayu__main__i@(u__doc__uosusysustatugetoptudefault_answerucreate_filesucreate_directoriesuwrite_slaveuwrite_masterumainuprocessucompareuBUFSIZEu	identicalumtimeu
funnycharsucopyu	raw_inputuokayu__name__(((u;/opt/alt/python33/lib64/python3.3/Tools/scripts/treesync.pyu<module>s$0..