Suchen der Module, bei denen Änderungen mit svn überprüft wurden

Ich habe ein Multi-Modul-Maven-Projekt.

Project -Module1 -Module2 -Module3 -Module4 -Module5 

Ich möchte die Module finden, auf die die Dateien auf der Grundlage der Revisionsnummer eingecheckt wurden.

  • Parsing Hostname und Port aus String oder URL
  • Wie installiere ich schöne Suppe 4 mit Python 2.7 auf Fenstern
  • XML-Deklaration standalone = "ja" lxml
  • Fügen Sie Spalten zu CSV hinzu, während Sie das CSV schreiben
  • Wie kann ich die python-HTMLParser-Bibliothek verwenden, um Daten aus einem bestimmten div-Tag zu extrahieren?
  • Parsing ungültiges Anker-Tag mit BeautifulSoup oder Regex
  • Ich weiß, svn log -v -r12345 -r12346 svn://repo-path.com/project bekommt das Protokoll für die geänderten Pfade, aber ich möchte nur die svn log -v -r12345 -r12346 svn://repo-path.com/project .

    Zum Beispiel: aus dem folgenden Log möchte ich

     ------------------------------------------------------------------------ r12345 | debajyoti.das@email.com | 2013-02-06 01:40:23 -0800 (Wed, 06 Feb 2013) | 1 line Changed paths: M /PROJECT/SHARED/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/NamedExtensionPoint.java M /PROJECT/SHARED/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/PrePostExtensionPoint.java M /PROJECT/SHARED/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/helper/ExtensionConfigurationHelper.java M /PROJECT/SRE/branches/DEV_Branch/ext/src/main/java/com/companyname/ext/DocumentGeneratorExt.java M /PROJECT/SRE/branches/DEV_Branch/ext/src/main/java/com/companyname/ext/NamedExtensionPoint.java M /PROJECT/SRE/branches/DEV_Branch/ext/src/main/java/com/companyname/ext/SystemDateBll.java BUG 12345678 - BLAH IMPLEMENTATION ------------------------------------------------------------------------ r12346 | debajyoti.das@email.com | 2013-02-06 01:40:23 -0800 (Wed, 06 Feb 2013) | 1 line Changed paths: M /MODULE/CYCLE/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/FileCycle1.java M /MODULE/CYCLE/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/FileCycle2.java BUG 12345679 - BLAH IMPLEMENTATION ------------------------------------------------------------------------ 

    Ich möchte, dass PROJECT.SHARED , PROJECT.SRE und MODULE.CYCLE vielleicht in einer Log-Datei abgeholt werden, um sie später für einen Build-Prozess zu verwenden.

    Wie kann ich das tun, wenn ich mehrere Revisionsnummern manuell übergeben möchte und die Liste der Module generiere, in denen Änderungen in via svn überprüft wurden.

  • Wie man die Ausgabe des Teilprozesses in Python 2.7 versteckt
  • One Solution collect form web for “Suchen der Module, bei denen Änderungen mit svn überprüft wurden”

    Drei getrennte Aufgaben:

    1. Rufen Sie svn ordnungsgemäß an, um das Protokoll zu erstellen
    2. Analysiere das log
    3. Schreiben Sie die analysierten Werte irgendwo

    1

     import subprocess as sp svn_url = "svn://repo-path.com/project" revisions = [12345, 12346] revision_clargs = ["-r%i" % revision for revision in revisions] popen = sp.Popen(["svn", "log", "-v"] + revision_clargs + [svn_url],stdout=sp.PIPE,stderr=sp.PIPE) out,err = popen.communicate() 

    2

     input_ = """ ------------------------------------------------------------------------ r12345 | debajyoti.das@email.com | 2013-02-06 01:40:23 -0800 (Wed, 06 Feb 2013) | 1 line Changed paths: M /PROJECT/SHARED/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/NamedExtensionPoint.java M /PROJECT/SHARED/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/PrePostExtensionPoint.java M /PROJECT/SHARED/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/helper/ExtensionConfigurationHelper.java M /PROJECT/SRE/branches/DEV_Branch/ext/src/main/java/com/companyname/ext/DocumentGeneratorExt.java M /PROJECT/SRE/branches/DEV_Branch/ext/src/main/java/com/companyname/ext/NamedExtensionPoint.java M /PROJECT/SRE/branches/DEV_Branch/ext/src/main/java/com/companyname/ext/SystemDateBll.java BUG 12345678 - BLAH IMPLEMENTATION ------------------------------------------------------------------------ r12346 | debajyoti.das@email.com | 2013-02-06 01:40:23 -0800 (Wed, 06 Feb 2013) | 1 line Changed paths: M /MODULE/CYCLE/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/FileCycle1.java M /MODULE/CYCLE/branches/DEV_Branch/extensibility/src/main/java/com/companyname/extensibility/FileCycle2.java BUG 12345679 - BLAH IMPLEMENTATION ------------------------------------------------------------------------ """ modified_prefix = " M " projects = set(map(lambda x: ".".join(x.split("/")[1:3]), filter(lambda x: x.startswith(modified_prefix), (input_.split("\n"))))) 

    3. Hängt davon ab, was Sie wollen …

    Python ist die beste Programmiersprache der Welt.