0

したい:

  1. ファイルを特定のリビジョンに更新する
  2. 作業コピーをロックして、他の誰も更新または変更できないようにする
  3. コンパイル スクリプトを実行します (svn とは別に、非常に遅い)
  4. ファイルのロックを解除して、他のユーザーが再度変更できるようにする

これは私が書いたものです(Windowsコマンドライン構文で):

svn update file.cpp --force -r 320
svn lock file.cpp 
Call CompileScript.exe
svn unlock file.cpp

しかし残念なことに、私がコンパイルしている間に別のユーザーが file.cpp の更新を実行したため、再びリポジトリ内の最新バージョンに戻りました。つまり、ロックによって停止されませんでした。

これが起こらないように作業コピーをロックする方法はありますか?

4

2 に答える 2

1

svn lock コマンドは、リポジトリ側でのコミット/マージを停止するためのものであり、誰かがローカル ファイルを変更または変更することを停止しません。DOSで読み取り専用にできますか?attrib +r だと思うので、後で attrib -r で削除します。

于 2012-05-21T14:50:56.143 に答える
0

ファイルのローカルコピーをロックしたいですか?これはOSの問題であり、Subversionとは何の関係もありません。全員とそのいとこが、制御する必要のあるファイルに対する読み取り/書き込み権限を持っている場合、あなたは何をしようとしていますか?

バージョン管理システムには、必要なことを実行するための組み込みの手段がすでに組み込まれていますが、管理下にある作業ディレクトリを使用する必要があります。この理由だけで、ユーザーは作業ディレクトリを共有しないでください。協調スペースが必要な場合は、ブランチを作成しますが、作業ディレクトリを共有しないでください。

caclsコマンドを使用して読み取り/書き込み権限を削除できると思いますが、他のユーザーと同じユーザーIDで作業している場合は、他のユーザーがすぐにアクセス許可を付与できます。

于 2012-05-21T19:33:18.643 に答える