2

私はオープン ソースの e コマース ストア (nopcommerce) を運営しており、ストアに対して多くのカスタマイズを行っています。

ソフトウェアの新しいバージョンがリリースされるたびに、winmerge を使用して変更されたファイルを検出し、これらの変更をプロジェクトにマージします。これは問題なく機能しますが、私のカスタマイズが成長するにつれて、このタスクはますます問題になってきました。

私が本当にやりたいことは、現在のバージョンから新しいバージョンへの差分を取得し、必要な変更を行って適用できるようにすることです。これに TFS を使用する場合、これを達成するための標準的な方法はありますか? おそらく、3 方向のマージ アプリの方がうまくいくでしょうか?

さらに複雑なことに、テーマ サポートを使用して、変更したビューを別の場所に追加しているため、バージョンごとの変更を把握して、この追加フォルダー内のファイルにも適用する必要があります。

実際、ここで、どの変更を行ったのか、どの変更が新しいバージョンからの新しい変更なのかを判断する際に、大きな頭痛の種になります。

4

2 に答える 2

1

nopCommerce は、CodePlex を介して Mercurial でソース コードをホストしています。本当に必要なのは、リポジトリをクローンして、ローカル クローンに変更を加えることだけです。次に、彼らの変更に追いつくか、次のリリースが出るまで待ってから、彼らのレポから更新を取得して、変更とマージすることができます. 分散バージョン管理システムである Mercurial はうまくマージでき、Subversion、TFS、または Mercurial 以外のものを使用して自分で何かを手動で行おうとすると、問題が少なくなります。TortoiseHgをダウンロードしてください。これにより、Mercurial の優れた GUI とコマンドライン ツールの両方が提供されます。TortoiseHg には KDiff3 マージ ツールが付属していますが、Beyond Compareを強くお勧めします. 無料ではありませんが、このソフトウェアの 100 倍以上の料金を支払うことになります。

いつものように、Mercurial の使用に関するヘルプが必要な場合は、Hg Bookを参照してください。

于 2011-11-29T04:12:39.943 に答える
0

私はTFSとSubversionの両方を使用しましたが、 TortoiseSVN(コマンドライン)とVisualSVN(Visual Studioに統合)を備えたSubversion(ソースリポジトリ)を強くお勧めします。

これらのツールを使用すると、変更されたファイルを正確に見つけることが非常に簡単になり、さらに重要なことに、何かがひどくうまくいかなかった場合に以前のバージョンにロールバックできます。

また、 CruiseControl継続的インテグレーションを追加して、ソリューションを自動的に構築し、チェックインごとに単体テストを実行して、不注意で何かを壊していないことを確認することもできます。

于 2011-11-29T02:06:47.900 に答える