2016-11-23 5 views
-3

Я могу написать скрипт для проверки кода из SVN-запроса с помощью модуля «pysvn», но просто хотел знать, есть ли какие-либо Кстати, я могу обойтись без pysvn? Поскольку pysvn - это сторонняя библиотека, которую я должен установить отдельно на linux и windows, которые мне не нужны. Пожалуйста, помогите мне получить альтернативный способ, в котором я не придется устанавливать какой-либо код третьего модуля партия -как указать имя пользователя и пароль при проверке кода из SVN с помощью скрипта python без стороннего модуля

import pysvn,os,shutil 


def getLogin(realm, username, may_save): 
    svn_user = '<my-username>' 
    svn_pass = '<my-password>' 
    return True, svn_user, svn_pass, False 

def ssl_server_trust_prompt(trust_dict): 
    return (True # server is trusted 
      ,trust_dict["failures"] 
      ,True) # save the answer so that the callback is not called again 

def checkOut(svn_url,dest_dir): 
    if os.path.isdir(dest_dir): 
     shutil.rmtree(dest_dir) 
     os.mkdir(dest_dir) 
     client = pysvn.Client() 
    client.callback_ssl_server_trust_prompt = ssl_server_trust_prompt 
     client.callback_get_login = getLogin 
     client.checkout(svn_url,dest_dir) 
    else: 
     os.mkdir(dest_dir) 
     client = pysvn.Client() 
    client.callback_ssl_server_trust_prompt = ssl_server_trust_prompt 
     client.callback_get_login = getLogin 
     client.checkout(svn_url,dest_dir) 


print "Checking out the code hang on...\n" 
checkOut('<svn-repo>','ABC') 
print "checked out the code \n" 

print "Checking out the code hang on...\n" 
checkOut('<svn-repo>','XYZ') 
print "checked out the code\n" 

print "Checking out the code hang on...\n" 
checkOut('<svn-repo>','MNP') 
print "checked out the code \n” 
+2

доля сниппеты, что вы пробовали. – ArunDhaJ

+0

один я пробовал как этот импорт os os.system ('svn co https: // svn-path'). Здесь он всегда появляется с окном пароля. Я запускаю это на ubuntu – user2564083

+0

другим. Я пробовал с подпроцессом так же. пожалуйста, помогите – user2564083

ответ

0

Я могу решить эту проблему с помощью модуля «pysvn», но просто хотел бы знать, есть ли способ может обойтись без pysvn также? Поскольку pysvn - это сторонняя библиотека, которую я должен установить отдельно на linux и windows, которые мне не нужны. Пожалуйста, помогите мне получить альтернативный способ, в котором я не придется устанавливать какие-либо партии код третьего модуля -

import pysvn,os,shutil 


def getLogin(realm, username, may_save): 
    svn_user = '<my-username>' 
    svn_pass = '<my-password>' 
    return True, svn_user, svn_pass, False 

def ssl_server_trust_prompt(trust_dict): 
    return (True # server is trusted 
      ,trust_dict["failures"] 
      ,True) # save the answer so that the callback is not called again 

def checkOut(svn_url,dest_dir): 
    if os.path.isdir(dest_dir): 
     shutil.rmtree(dest_dir) 
     os.mkdir(dest_dir) 
     client = pysvn.Client() 
    client.callback_ssl_server_trust_prompt = ssl_server_trust_prompt 
     client.callback_get_login = getLogin 
     client.checkout(svn_url,dest_dir) 
    else: 
     os.mkdir(dest_dir) 
     client = pysvn.Client() 
    client.callback_ssl_server_trust_prompt = ssl_server_trust_prompt 
     client.callback_get_login = getLogin 
     client.checkout(svn_url,dest_dir) 


print "Checking out the code hang on...\n" 
checkOut('<svn-repo>','ABC') 
print "checked out the code \n" 

print "Checking out the code hang on...\n" 
checkOut('<svn-repo>','XYZ') 
print "checked out the code\n" 

print "Checking out the code hang on...\n" 
checkOut('<svn-repo>','MNP') 
print "checked out the code \n" 
0

Вы можете передать имя пользователя и пароль в качестве аргументов:

$ svn update --username 'user2' --password 'password' 
+0

Я предоставил код с достаточной информацией в части описания. Я прошу вас, ребята, снова открыть и помочь мне решить проблему. – user2564083