0

クルーズコントロールを使用して、svncommitプロセスを自動化しています。しかし、svn commitコマンドを実行すると、作業コピーから削除したファイルが復元されます。

私のやり方はそうです。

1. delete some files in my working copy.( no. of files in my WC is less than no. of files in repository)
2. execute svn command using cruise control.

<exec executable="svn.exe">         
        <buildArgs>ci -m "test msg" --no-auth-cache --non-interactive</buildArgs>
        <buildTimeoutSeconds>1000</buildTimeoutSeconds>
      </exec>

result: the deleted files are restored in my WC...

誰かが私がどこで間違っているのかを理解するのを手伝ってくれますか...または私がいくつかの変更/構成をしなければならない場合...

みんなありがとう。

よろしく。uday

4

2 に答える 2

4

これらのファイルをリポジトリから削除する必要があることを SVN に伝える必要があります。SVN は、ファイルがまだそこにあるはずだと考えているため、ファイルを追加し直しています。

最初の削除:

svn delete myfile

svn delete を呼び出すと、基本的にファイル (またはディレクトリ) の削除がスケジュールされます。変更を実際に適用するには、svn にコミットする必要があります。

于 2010-03-26T07:08:30.867 に答える
1

Kevin が指摘したように、これにはいくつかの手順が必要であり、CCNet プロジェクト ファイルの作成方法に関する情報を探していると想定しています。

最初にsvnを使用してファイルを削除します

<exec executable="svn.exe">         
    <buildArgs>delete 'filename'</buildArgs>
</exec>

[ここで削除するすべてのファイルのリストを渡すことができるかどうか、または一度に 1 つずつ実行する必要があるかどうかはわかりません]

ケビンが示したように、これはリポジトリから削除するファイルにフラグを立てるだけで、実際には削除しません。

すべてのファイルにフラグが付けられたら、コミットを実行します。

<exec executable="svn.exe">         
    <buildArgs>commit 'root project path'</buildArgs>
</exec>

[必要なメッセージ引数などを追加]

基本的にはそれだけです。

于 2010-03-28T17:39:06.127 に答える