アプリケーションの一連の構成ファイルを含むディレクトリ構造があります。構造は Subversion で維持され、いくつかのシステムではそのディレクトリ構造がチェックアウトされています。開発者はリポジトリ内の構造に変更を加え、サーバー上のスクリプトは定期的に「svn update」を実行します。
ただし、ディレクトリの 1 つの下にある .svn ディレクトリをうっかり削除したり、属していないファイルを貼り付けたりする人がいることがあります。私は手続き上の不誠実な人の手を遮断するためにできることをしますが、更新スクリプトがこれらの変更を適切に (まあ、自動的に) 処理できることを望んでいます。
したがって、私が必要としているのは、Subversion に含まれていないファイルを削除する方法と、リポジトリ内の何かの邪魔になっているローカル ディレクトリを踏みにじる方法です。したがって、次のような警告
Fetching external item into '/path/to/a/dir'
svn: warning: '/path/to/a/dir' is not a working copy
と
Fetching external item into '/path/to/another/dir'
svn: warning: Failed to add directory '/path/to/another/dir': an unversioned directory of the same name already exists
自動的に解決されるはずです。
スクリプトで svn status 出力を解析するか、svn C API を使用して独自の「クリーンアップ」プログラムを作成して、これを機能させる必要があるのではないかと心配しています (そうです、このように機能する必要があります; rsync / tar+scp など、さまざまな理由でオプションにならないものがあります)。しかし、誰かが問題を処理する解決策 (または部分的な解決策) を持っている場合は、それについて聞いていただければ幸いです。:)