Couple d'options que je peux voir
1 - émettre un svn status --show-mises à jour avant la mise svn et travailler s'il y a des changements (doit être aussi simple que de compter les lignes dans la réponse - 2 - passer de la tâche svn-update à la tâche exec et rediriger la sortie de svn up dans un fichier de test que vous pouvez publier pour déterminer si des mises à jour ont été effectuées. fait (similaire à la première option).
3 - Saisissez le svn log après le svn up avec une tâche basée sur http://jonathanmalek.com/wp/?p=244, puis traitez le fichier XML pour déterminer si des modifications ont été apportées. Cela ne fonctionnerait que si vous aviez la garantie d'une augmentation du nombre de tours seulement, car elle ne reçoit que les informations du journal pour la dernière révision. Variation sur ce serait saisir le journal avant le svn up et après, puis les comparer.
Personnellement, j'aller avec l'option 2. Exécution svn sur une mise aux résultats du répertoire de travail ce jour dans une ligne (à la révision) change donc d'utiliser la tâche de mise à jour de svn à ce qui suit:
<target name="Svn-update">
<!-- Default to true so failure mode is to build/signal build is required -->
<property name="source.changed" value="true"/>
<exec
program="svn.exe"
commandline=’up′
output="_update.log"
failonerror="true"/>
<property name="updates.count" value="0"/>
<foreach item="Line" in="_update.log" property="updates.line" trim="Both">
<property name="updates.count" value="${int::parse(updates.count) + 1}"/>
</foreach>
<if test="${updates.count==1}">
<!-- An up to date working directory generates a single line "At revision xxx" -->
<property name="source.changed" value="false"/>
</if>
</target>
maintenant vous pouvez utiliser if = "$ {source.change == 'true'}" et à moins = "$ {source.changed == 'true'}" pour déterminer quand vous devriez et devriez exécuter le reste de votre build et vos notifications
Bon effort jusqu'à maintenant, mais je pense que j'ai besoin de quelque chose de plus concret pour attribuer les points. C'mon - donne moi du code !! : o) –
Vous êtes l'homme! Bon effort! 150 points à venir! –