1

VS2005のネイティブソースコントロール(GIT以外)でVS2005ソリューションをホストしています。VS2013とTFS2015でブランチを使用する場合、ブランチのプロジェクトファイルを変更する必要があります。

最近、ブランチを作成しました。 vccxprojファイルのScc-sectionを手動で修正する必要がありました。これは、SccProjectName設定でブランチ名が明示的に含まれていたためです。 ブランチをメイントランクにマージするときと同じです。変更されたセクションがトランクにマージされなかったことに気をつける必要がありました。 これは非常に迷惑です。 これを修正するには?

私が検索し、別の場所に配置SCC-結合メタデータと

<SccProjectName>SAK</SccProjectName> 
<SccLocalPath>SAK</SccLocalPath> 
<SccAuxPath>SAK</SccAuxPath> 
<SccProvider>SAK</SccProvider> 

を使用することが示唆されたページをたくさん発見した(MSSCCPRJ.sccを?)。 これは私にとっては妥当と思われます。

私は明示的に何をしなければならないか、何が壊れる可能性があるのか​​分かりません。 私はTFSのセットアップと構成に熟練していません。

答えて

2

また、Scc以下で使用することをお勧めします。実際には、TFSのソース管理にプロジェクトを追加するときのデフォルトのScc設定です。あなたのケースでは

<SccProjectName>SAK</SccProjectName> 
<SccLocalPath>SAK</SccLocalPath> 
<SccAuxPath>SAK</SccAuxPath> 
<SccProvider>SAK</SccProvider> 

、あなたはそれがどのポリシーの制限のないオプションがある場合、メインと別の支店の両方にSccProjectName設定に支店名を削除しようとすることができます。

もう1つの方法は、他の変更がない場合に.vcxprojファイルをトランクにマージする必要がある場合です。

  • この場合、マージを実行してから除外するファイルに対して変更を取り消します( )。それが完了したら、 変更をチェックインしてください。マージを実行すると、 ワークスペースでのみマージされます。チェックインするまでサーバーには行きません。
  • あなたはマージ操作に含まれるべきではない.vcxprojファイル を強制するために、コマンドラインからtf.exeを使用することができます。 tf.exe merge /discard <path to .vcxproj file > <destination branch>

    詳細はMerge Commandを参照してください。 Exclude a config file from the merge process

MSSCCPRJ.SCC関連情報については、this articleを参照してください、助け希望:また、このスレッドを参照します。

+0

ねえ、ありがとう。私は物事を試してみるよりも深く理解したいと思っています。 変更を無視/元に戻すことは、これまでのやり方でvcxprojファイルを実行することです。しかし、これは、マージする必要のあるvcxprojファイルが実際に変更された場合には満足のいくものではありません。 – Scrontch

+0

@Scrontchだから、上記のデフォルトのSccはどうですか? SccProjectName設定がない場合は、問題を解決する必要があります。 –

関連する問題