Ici un rugueux rapide édite au code dans le lien ci-dessus. Ceci devrait fonctionner pour vous. Je ne l'ai pas examiné cependant (je n'ai pas le repo de SVN pour l'examiner maintenant).
# ! python de /bin/env
La « subversion d'exemple prévoient d'engager le crochet. »
command_output de def (cmd) :
« Saisir le rendement standard d'une commande. »
importer le sous-processus
renvoyer le sous-processus. Popen (
cmd.split (), stdout=subprocess.PIPE) .communicate () [0]
le def files_changed (look_cmd) :
Liste de """ que les dossiers se sont ajoutée ou ont mis à jour par cette transaction.
le « svnlook changé » donne le rendement comme :
Tronc d'U/file1.cpp
Un tronc/file2.cpp
"""
nom de fichier de def (ligne) :
canalisation de retour [4 :]
le def added_or_updated (ligne) :
canalisation de retour et ligne [0] dans (« A », « U »)
retourner [
nom de fichier (ligne)
pour la ligne dans le command_output (look_cmd % « changé ») .split ( » \ n ")
si added_or_updated (ligne)]
check_filesname de def (look_cmd) :
« Vérifier les noms de fichier inadmissibles. \
Il permet des alphabets, des nombres, des tirets (-), des soulignages (_) et des points (.) «
allowedRegex=re.compile (« ^ [a-zA-Z0-9 \ - _ \.]*$")
invalid_files = [
FF pour le FF dans files_changed (look_cmd)
sinon allowedRegex.match (FF)]
si len (des invalid_files) > 0 :
sys.stderr.write (« les dossiers suivants ont le nom de fichier inadmissible : \ n%s \ n »
% « \ n » .join (invalid_files))
retourner len (les invalid_files)
force de def () :
utilisation = utilisation de """ : %PROG REPOS TXN
Courir prévoient d'engager des options sur une transaction de dépôt. """
de l'importation OptionParser d'optparse
analyseur = OptionParser (usage=usage)
parser.add_option (« - r », »--révision ",
mode d'essai de help= ". TXN se rapporte réellement à une révision. « ,
action= " store_true ", default=False)
erreurs = 0
essai :
(choisit, (les repos, le txn_or_rvn)) = parser.parse_args ()
look_opt = ("--transaction », »--révision ") [opts.revision]
look_cmd = « svnlook %s %s %s %s » % (
« %s », repos, look_opt, txn_or_rvn)
check_filesname des erreurs += (look_cmd)
excepté :
parser.print_help ()
erreurs += 1
erreurs de retour
si == « __main » de __name :
système d'importation
sys.exit (principal ())