2011-03-25 16 views
0

現在、私たちはVisual Studio 2010と安全に統合されたビジュアルソースを使用していますが、理想的な選択肢ではありません。.net開発のソース管理を処理する最善の方法は何ですか?

私の主な質問は、ローカルプロジェクトに追加されたすべての新しいアイテムを追跡する「プロジェクトファイル」があり、常にチームメイト間で同期が外れているようです。どんなソース管理システムでも、どうすればそれをよりうまく処理できますか?

(VSSに「プロジェクトファイル」を追加しました。誰かがファイルをチェックアウトした後もファイルをロックしていますので、「プロジェクトファイル」は常に1人で変更されます。 AnkhSVNでSVNを試しましたが、 "プロジェクトファイル"が破損しているように見えますが、多くの心配がありました)

答えて

0

どのようにプロジェクトファイルが壊れますか?任意のソース管理システムでは、ファイルに対して排他ロックを取得するか、可能であればファイルをマージする必要があります。

「破損」は、それほど悪くはないようです。おそらく、あなたのチームの誰かが、「マージ競合」に遭遇しています.2人の開発者が同じコード行にさまざまな変更を加え、それを無視するだけです。それが起こると、SVNクライアントは、各変更が行われたリビジョンを示すフラグを付けて、その行をファイル内に並べて配置します。そうすれば、ソースコードやXMLファイルが意図されたとおりに解析されなくなります。

マージの競合を解決するには、使用する各行の2つのバージョンのいずれかを選択して、マージ競合を手動で解決する必要があります。これが起こっていない場合は、最初にバージョンコントロールを使用するだけで、適切にマージしていない人物を簡単に見つけ出し、教育することができます。あなたのTortoiseSVNウィンドウで赤い線を無視することは非常に悪いことです。

バージョン管理を使用すると、チーム環境で慣れてしまうことがありますが、チームとして作業するには非常に必要な部分です。

  • 解決策をさらにいくつかのプロジェクトに分割してください。新しいコードファイルを作成するたびにプロジェクトファイルを変更する必要があり、PMS(痛み併合症候群)の発生を増やす可能性があります。製品が成熟するにつれて新しいコードファイルの作成が遅くなると、ソースコードをより少数のアセンブリにマージすることを検討することができます。

  • 「自動ビルド」とも呼ばれる「継続的インテグレーション」を実装します。 TeamCityのようなCIサーバーは、コーナーのボックスに座って、チームメンバーがコードをチェックインするのを待つことができます。それが起こると、チェックインを検出し、最新のソースを取得し、ビルドを試みます。必要に応じてユニット/統合テスト、コードカバレッジ、FxCopルールチェックなども実行します。これを完了できなかったり、結果が満足できない場合は、ビルドが「壊れている」状態になり、ビルドが成功するまでのチームの仕事は、ビルドサーバーの問題を修正してビルドを「修正」することです見つかりました。

3

ソースファイルにプロジェクトファイルを追加する必要があります。これは、Visual Studioを使用している場合は常に行うべきことです。あなたがしなければ、あなたはソースコントロールから多用することはありません。

難しい部分は、変更が完了したときに人々がチェックインすることを確認しています。ソースファイルからプルダウンする前に、プロジェクトファイルをチェックインするようにしてください。

なぜVSSが理想的なオプションではないとお考えですか?

代替案をお探しの場合は、Visual SVN ServerをAnkh SVNと併用することをお勧めします。どちらも無料で、私にとってはうまくいっています。

+0

異なるインストール構成のための別のプロジェクトファイルを作成する(ただし、コードを使用して、個々に別々のプロジェクトを作成していない、それがさらに悪化するだろう)であるはい、私たちは、「プロジェクトファイル」を追加しました誰かがファイルをチェックアウトすると、ファイルをロックアウトしてしまいました。そのため、 "プロジェクトファイル"は常に1人で変更されます。それでも理想的ではないので、VSSは考えられません。 –

1

Microsoftのルートに行きたい場合は、TFSが新しいVSSで、余分なものがたくさんあります。

SubversionTortoiseSVNで、VisualSVNはVisual Studio用のプラグインです。 GITのような他の選択肢もあり、Visual Studioとの合理的な統合が行われています。

「ベスト」代替手段はありませんが、上記のオプションはすべてうまく機能します。彼らはそれぞれの強みと弱みを持っていますが、それらのすべてが簡単にVSSを上回ります。

+0

私たちはAnkhSVNでSVNを試しましたが、それは "プロジェクトファイル"を破損しているように思えますし、また多くの不安を引き起こしました。 –

+0

@ n0chi、私はAnkhSVNと友人になったことはありません.VisualSVNだけです。ローカルにファイルを追加した人がファイルをリモートに追加した場合は、プロジェクトファイルを手動でマージする必要がありますが、マージの競合を解決する方法がわかってもそれほど大きな問題はありません。 –

0

あなたはどのような変更を行っていますか? SVNとVSSは、競合を投げずにプロジェクトにファイルを追加する処理を行う必要があります。私はクリック一回インストーラなどの他のプロジェクト設定を変更するときに問題が発生していることがわかりました。そのため、.projファイルの大きなチャンクが変更されます。

一つの可能​​な解決策は

関連する問題