2016-08-09 105 views
0

Ich habe in letzter Zeit eine Menge scriptgestützter Massenaktualisierungen an Dutzenden von Projektordnern gleichzeitig durchgeführt. Leider besteht mein spitzhaariger Chef darauf, dass jeder Ordner nach einer dieser Bulk-Bearbeitungen separat an TortoiseSVN übergeben wird - er möchte, dass jeder Ordner eine andere Revisionsnummer hat. Ich bin der Automatismus Teufel, der ich bin, wandte sich an Skripting, um zu versuchen, dieses Problem für mich zu lösen. Das ist, was ich versuche:Commit mehrere SVN-Repositorys mit einem Python-Skript?

import subprocess 
import glob 

for filepath in glob.glob("C:\eForms\*"): 
    if ".svn" not in filepath: 
     subprocess.call(['svn commit',filepath, '--message "<commit message here>"'], shell=True) 

Wenn ich versuche, es zu laufen, bekomme ich The filename, directory name, or volume label syntax is incorrect. Irgendwelche Ideen?

EDIT: Denken Sie, dass ich dieses Problem gelöst habe. Ich zwickte die Syntax, so dass nun die Ruflinie liest subprocess.call(["svn", "commit",('"',filepath,'"'), '-m "<commit message>"'], shell=True)

Jetzt bin ich svn: E020024: Error resolving case of '"<filepath>"'

EDIT2 den Fehler bekommen: Und ziehen die Zitate aus der Filepath dass gelöst. Alles funktioniert jetzt!

Antwort

0

korrekte Syntax der Anruffunktion stellte sich heraus

subprocess.call(["svn", "commit", filepath, '-m "<commit message here>"'], shell = True) 
sein