2009-01-13 17 views
1

Je voudrais importer un produit de construction à Subversion dans une tâche de construction NAnt. Mais ça ne marche pas pour moi.La tâche NAnt exécutant "svn import" échoue

Ce qui suit fonctionne bien pour moi de la ligne de commande:

svn.exe import -m 'Importing build 14' build/project.zip http://svn/builds/14/project.zip --username builder --password secret

Dans NAnt je la tâche suivante:

<exec program="svn.exe" commandline="import -m 'Importing build 14' build/project.zip http://svn/builds/14/project.zip --username builder --password secret" />

Mais l'exécution d'une cible NAnt cette tâche renvoie le message d'erreur: "Too many arguments to import command". Avez-vous une idée de la raison pour laquelle je reçois ce message d'erreur dans NAnt, et pas lorsqu'il est exécuté à partir de la ligne de commande?

Répondre

3

Apparemment, il peut être difficile d'échapper les guillemets. Si les valeurs des attributs contiennent des guillemets, ils doivent généralement être échappés (traite les caractères spéciaux et l'analyse XML).

Cela devrait faire l'affaire:

<exec program="svn.exe" commandline="import -m &quot;Importing build 14&quot; build/project.zip http://svn/builds/14/project.zip --username builder --password secret"/> 

Pour en savoir plus sur le XML et ce qui doit être se sont échappés vous pouvez référencer ce article comme il discute. Il vous montre également d'autres codes d'échappement si vous en avez besoin.

+0

En effet! Merci d'avoir répondu. Et merci pour l'explication et le lien. –

Questions connexes