1

NAntビルドタスクでビルド製品をSubversionにインポートしたいと思います。しかし、それは私にとって失敗します。

コマンドラインから次のように問題なく動作します。

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

NAntでは、次のタスクがあります。

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

ただし、このタスクでNAntターゲットを実行すると、エラーメッセージ「Too many arguments to import command"」が生成されます。

コマンドラインから実行したときにではなく、NAntでこのエラーメッセージが表示される理由を知っていますか?

4

1 に答える 1

3

引用符をエスケープするのに問題があるようです。属性の値に引用符が含まれている場合、通常はエスケープする必要があります (特殊文字と xml 解析を扱います)。

これでうまくいくはずです:

<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"/>

XML とエスケープする必要があるものについて詳しくは、この記事で説明されている内容を参照してください。必要に応じて、他のエスケープ コードも表示されます。

于 2009-01-13T16:32:57.023 に答える