2016-11-23 6 views
-3

Ich bin in der Lage, ein Skript zum Auschecken des Codes von SVN Problem mit "Pysvn" -Modul zu schreiben, wollte aber nur wissen, gibt es irgendwelche wie kann ich auch ohne pysvn auskommen? Weil pysvn eine Third-Party-Bibliothek ist, die ich separat auf Linux und Windows installieren muss, was ich nicht will. Bitte helfen Sie mir alternative Möglichkeit zu bekommen, in dem ich habe keinen dritten Partei Modul Code installieren -wie Benutzernamen und Passwort beim Auschecken des Codes aus SVN mit Python-Skript ohne Drittanbieter-Modul

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

Anteil Schnipsel, die Sie versucht haben. – ArunDhaJ

+0

eins habe ich versucht, so zu importieren os os.system ('svn co https: // svn-pfad'). Hier erscheint immer das Passwortfenster. Ich führe dies auf Ubuntu – user2564083

+0

anderen Ich versuchte mit Subprozess auf die gleiche Weise. Bitte helfen Sie mir – user2564083

Antwort

0

Ich bin in der Lage, dieses Problem zu lösen „pysvn“ Modul aber wollte nur wissen, ist es eine Möglichkeit, kann auch ohne pysvn auskommen? Weil pysvn eine Third-Party-Bibliothek ist, die ich separat auf Linux und Windows installieren muss, was ich nicht will. Bitte helfen Sie mir alternative Möglichkeit zu bekommen, in dem ich habe keine dritte Partei Modul Code installieren -

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

Sie Benutzername und Passwort als Argumente übergeben können:

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

Ich habe Code mit genügend Informationen im Beschreibungsteil zur Verfügung gestellt. Ich bitte Sie, dass Sie mich bitte wieder öffnen und mir helfen, das Problem zu lösen. – user2564083

Verwandte Themen