4

私の会社には、多くの一般的なコード (カスタム MVC フレームワーク、ユーティリティ クラス、JavaScript ライブラリなど) を使用する 2 つまたは 3 つの Web アプリがあります。

各アプリでこのコードをすべて複製することは避けたいと思います。これは、わずかに異なるバージョンのコードがいくつか使用されることになるためです。しかし、アプリがこのコードのまったく同じコピーを要求することは望ましくありません。これは、あるアプリの更新によって別のアプリが破損する可能性を避けるためです。

この問題に対処するためのヒントはありますか? 私は技術的な答えを探しているとは思いません - 単なる一般的なアプローチです。

コードをライブラリにして、アップグレードの準備が整うまでアプリを古いバージョンのライブラリに残すことができます。または、一度にすべてをアップグレードする必要がないように、複数のライブラリにすることもできます。しかし、ライブラリのバージョン間の相互依存関係を管理することは難しくなるでしょうか?

4

4 に答える 4

5

私は svn:externals で SVN を使用しています。依存プロジェクトがトランク内の他の開発の影響を受けないように、安定させたいものはタグフォルダーに入れる必要があります。

于 2009-04-16T18:15:11.913 に答える
0

それは非常に多くの要因に依存します.ライブラリに関しては、言語が異なれば動作も異なります. 私がこれを処理する一般的な方法は、各アプリに、私が作成したライブラリを含む外部依存関係の一連のテストを用意し、これを使用して、上記のライブラリへのアップグレードがアプリを壊さないようにすることです。

使用しているプラ​​ットフォームに関する詳細はありますか? 特定のニーズに役立つ特定のツールがある場合があります。

于 2009-04-16T18:16:07.900 に答える
0

svn:externals で SVN を 2 番目に設定します。一部のコードを共有するクライアントとサーバーがあります。コードはサーバーの下で維持され (ただし、独自のレポに移動することもできます)、クライアントは svn:externals を使用してそれを取り込みます。クライアント トランクは、サーバー トランクからプルします。しかし、分岐するとき (たとえばリリース用)、プルされた外部を特定のリビジョン、分岐、またはタグにペグします。それを行わずに古いブランチに戻って更新すると、共有コードのトランクを取得する可能性がありますが、これはおそらくあなたが望んでいるものではありません.

于 2009-04-16T18:40:08.280 に答える
0

最新かつ最高のバージョンを表す共通コード用に 1 つのソース管理ブランチを作成します。

次に、プロジェクトごとにそのコードの独自の独立したブランチを用意し、必要に応じて迅速な修正を行ったり、リリースが近づいたときに安定性を確保したりできます。

共通コードで見つかったバグを一覧表示する Wiki を用意して、共有コードの他のユーザーがそれを認識し、暇なときに修正する時間を確保したい場合があります。

Git は、変更を「マスター」ブランチにマージするのに適しているため、これには適しています。

于 2009-04-16T18:57:15.383 に答える