7

背景: 私の仕事では、SVN、C#、および VisualStudio を使用しています。私の仕事の一部には、定期的にグローバルな名前変更が含まれます。何かの名前を変更してから変更をマージすると、ビルドが壊れてしまうことがよくあります。

質問: 私の変更を見て、グローバルな名前変更に気付き、それをマージ中に他の人が行った編集に適用できるソリューションはありますか?

ほぼ同じ効果を得る別の方法は、ある種のリファクタリング ログであり、それを受信編集に適用します。

ツールが完璧である必要はありません。たとえ、私が編集したものを参照している編集の参照が価値があることに注意したとしてもです。

編集VS のリファクタリング ツールを認識しています。私が探しているのは、作業コピーをリファクタリングした後、マージする必要がある他の人々の編集に同じリファクタリングを適用できるものです。

理想的な解決策は、リファクタリングを行うときに未処理の編集がないことを確認することですが、それでは、他の人が次の 1 週間またはそれ以上何かを成し遂げることができなくなります。(次の週は 30 分ごとに同期する必要があるため)

4

5 に答える 5

1

他のリファクタリングとは別に名前を変更してください。これらは通常自動化できるため、変更は簡単です。スクリプトを配布して、マージ地獄を使用する他のエンジニアがファイルの変換を実行できるようにすることもできます。

リファクタリングを自動化する簡単な方法はないため、単純にしてください。名前の変更には数分しかかからず、最小限のテストでチェックアウトしてコミットできるはずです。

于 2008-10-26T22:00:51.877 に答える
0

私はあなたの問題を理解しました。残念ながら、同期中にこの作業を行うのに十分なほどスマートな SVN スクリプトはないと思います。

あなたのチームが SVN をより適切に使用することで、この状況が楽になるかもしれません。作業コピーで svn:update を実行し、マージ操作を実現する場合、変更をコミットする前に、更新されたソリューションを再構築することをお勧めします。

マージ時に自動的に実行できる svn スクリプトがあれば、実に素晴らしいことです。

于 2008-10-21T16:57:35.990 に答える
0

少なくとも VS 2005 で、グローバルな名前変更が変数/プロパティ/関数であると仮定すると、使用できる [リファクタリング - 名前の変更] 右クリック メニュー オプションがあります。設計上、ソリューション全体に名前の変更が反映されます。

于 2008-09-25T18:44:02.730 に答える
0

変更をコミットするのに必要な時間を短縮できないでしょうか? コミット間で 1 週間以上はかなり長いようです...

于 2008-10-14T14:51:56.200 に答える