2016-06-01 16 views
0

Angenommen, ich habe einen Ordner im Ordner BuildI12 ausgecheckt und ich möchte mit der Ameise aktualisieren, wie kann ich das tun?
Ich nicht wie benutzerdefinierte Aufgaben in ant erstellen.Update eines SVN-Ordners mit Ant-Skript

+0

können Sie besser erklären, was Sie „den Ordner zu aktualisieren“ bedeuten? Meinst du laufen ein Svn-Update? – ivoruJavaBoy

+0

Ja, ich habe den Ordner ausgecheckt und möchte ihn dann aktualisieren. – viveksinghggits

+0

Meine Lösung verwendet Svnkit als Subversion-Client: http://StackOverflow.com/questions/16305315/the-svn-client-svnkit-is-not-available/16310312#16310312 –

Antwort

0

Wenn ich Ihre Bedürfnisse zu verstehen und Sie bedeuten einen SVN UPDATE aus einer benutzerdefinierten Ant-Task ausführen, können Sie etwas tun:

<target name="svn_command" description = "run svn update command"> 
     <if> <os family="windows"/> 
      <then> 
       <exec dir="." executable="cmd.exe" outputproperty="svnlog.out" failonerror="true" > 
        <arg line="/c svn update"/> 
       </exec> 
      </then> 
      <else> 
       <exec executable="svn" outputproperty="svnlog.out"> 
        <arg line=" update"/> 
       </exec> 
      </else> 
     </if> 
</target> 

Natürlich können Sie mehr Trick, Platzhalter verwenden und dynamische Aufgabe zu schaffen, könnte für verschiedene SVN-Operationen arbeiten ..

Lassen Sie mich wissen, wenn dies Ihre Bedürfnisse passt ..

+0

Nur eine Anmerkung: Verwendung von '' würde erfordern die Ant-Contrib-Bibliothek von Drittanbietern. Um "Ant-Contrib" zu vermeiden, hat die Task "" ein 'osfamily'-Attribut, das sicherstellt, dass' ' nur auf bestimmten Betriebssystemen läuft. –

+0

Ich verstehe nicht, wie es funktionieren würde.? Ich meine, was ist der Zweck von cmd.exe, muss ich es schreiben? – viveksinghggits

+0

Dieses benutzerdefinierte Ziel funktioniert für Windows und Unix ... es sagt, wenn das System ein Windows-System ist, verwenden Sie cmd.exe, um den Prozess svn aufzurufen und den Befehl update auszuführen, scheitern, wenn etwas schief geht und sich bei svnlog.out anmelden Ausgabe, wenn es kein Windows-System ist, einfach den ausführbaren Prozess svn mit param update aufrufen, was meinst du mit ich muss es schreiben? Ist Ihr System Unix- oder Windows-basiert? – ivoruJavaBoy