私は自分の仕事でsvnを使ってより良い「作業慣行」を実装する過程にあります。数年前からすでにsvnを使用していますが、容量の20%で使用していると思います。ソースコードのバージョン管理に使用しますが、タグやブランチの概念は使用しません。
将来的には、リビジョンまたはリリースごとに、タグを使用してアプリケーションコードのスナップショットを保持できるようにしたいと考えています。これが私が最良の戦略の方向性を見つけるのに役立つ記事です。これも私にいくらかの理解を与えますが、私にもっと多くの質問を残します。
これは私が従いたいパターンです:
- チームは常にトランクに取り組んでいます。
- トランクは、すべてのリビジョンとすべてのリリースでタグ付けされているため、任意のバージョンのスナップショットを取得できます。
- タグ付け後も、チームはトランクの作業を続けます。
- チームが試したいことがあれば、コードを分岐し、完了したら変更をトランクにマージします。
問題は、アプリケーションが依存する自家製のフレームワークもあることです。私たちのコンテキストでのタグの助けは、最新バージョンをクライアントに送信することなく、既存のリリースの小さなバグを修正できるようにすることです。トランク内のバージョン。ご想像のとおり、フレームワークはアプリケーションと同じフォルダーのグループに含まれていないため、アプリケーションのリリースにリンクされたフレームワークコードのタグを作成する必要があるのは非常に悲しいことだと思います。フレームワーク自体も、アプリケーション固有の要件なしで変更できることを考慮してください。
このため、以前のリリースのアプリケーションでフレームワークのバグが見つかった場合に、タグを作成して苦痛を軽減するための最善の戦略はどれかわかりません。現在、アプリケーションとは、各アプリケーションソリューションのlibsフォルダーにあるフレームワークのライブラリを含むフレームワークを指します。この場合、あなたはどうしますか?ああ、フレームワークには40万行のコードがあることを示さなければなりません。コピーして貼り付けるソリューションは拒否されます。:)
以前のバージョンにあるバグを修正する必要がある場合、タグをどのように処理できますか?タグ構造でチェックインするたびに、Subversionから通知が届くのはわかっています。タグを使用してブランチを作成し、バグを修正してから、Subversionから通知された場合でも、変更をマージ/チェックインしてタグフォルダーに戻す必要がありますか?
また、DataDynamics.ActiveReportsやMindscape.LightSpeedなどの依存関係もあります。これらのアプリケーションは、IDEに統合されているため、VisualStudioにも依存関係があります。これらのIDEプラグインの以前のバージョンを使用する以前のバージョンのバグを修正する必要がある場合、どうすればケースを処理できますか?
最後に、これらすべての質問についてより深く説明するのに役立つ本や記事を送っていただければ幸いです。
どうもありがとうございました。