svn構造を台無しにしたり、エクスポートしたり、新しいものからやり直したりせずに完全に上書きされるファイル/ディレクトリをsvnディレクトリに追加するための回避策があるかどうか疑問に思っていました。
それらが完全に上書きされている場合、そもそもなぜそれらがsvnにある必要があるのかを考えている必要があります。すべてを安全にしたいとだけ言っておきましょう。
どんな助けでも大歓迎です。
ありがとうアンドレアス
簡単な答え:ビルドプロセスによって作成または再作成されたファイルとディレクトリは、リポジトリに属していません。
このベストプラクティスを(何らかの理由で)無視することを選択した場合は、ディレクトリツリー内のすべてのファイルを再帰的に削除するが、フォルダー構造をそのまま維持し、フォルダーを省略するシェルスクリプトまたは小さなツールを作成することをお勧めし.svn
ます。完全なフォルダを削除する場合は常に、ビルドプロセスでこのツールを呼び出します。
補遺:これは以前のSO投稿であり、生成されたコードのバージョン管理のトピックを扱っています。これはIMHOとほぼ同じ問題です。
私たちはあなたが求めていることをしていると思います。
次のレイアウトのプロジェクトがあります。
.\Project
.\project\Component
.\Project\Bin -- svn:ignored
.\Project\Bin\Debug -- svn:ignored (recursively from parent)
.\Project\Bin\Release -- svn:ignored (recursively from parent)
ビルドディレクトリはsvn:ignoreされ、バイナリの再構築に必要なソースのみをコミットします。私たちのビルドツールは、ビルド中に欠落している出力ディレクトリを自動作成します。
「完全に上書き」とはどういう意味ですか?ディレクトリは実際に削除されていますか?それとも、その内容だけが上書きされますか?
私たちは何年もの間、同様のアプローチをうまく使用してきました。毎晩、ジョブは開発データベースからメタデータスクリプトをダンプし、すべての新しいファイルを追加し、svnコミットを実行します。
ただし、これには、ディレクトリ構造がそのまま残っている必要があります(特に、.svnサブディレクトリ)。
よろしく、フランク