Visual Studio 2010とgit(git svn)を使用しています。私の同僚は、Ankhsvnプラグインで純粋なsvnを使用しています。
Gitソース管理プロバイダーを有効にしてファイルを開こうとすると、VisualStudionは次のように文句を言います。
ソース管理プラグイン
アクティブなソリューションまたはプロジェクトは、選択したものとは異なるソース管理プラグインによって制御されます。ソース管理のプラグインを変更すると、アクティブなソリューションまたはプロジェクトが閉じられます。
続けたいですか?
[はい]をクリックすると、空のソリューションが開きます。[いいえ]をクリックすると、ソリューションアイテムの横にあるすべてのgit固有のアイコンが表示されず(ソリューションエクスプローラーにブランチ名が表示されます)、ソリューションを開くたびにソース管理プラグインについてのプロンプトが表示されます。
同僚がソリューションを作成したsvnリポジトリのクローンを作成すると、slnファイルには次のものが含まれます。
GlobalSection(SubversionScc)= preSolution Svn
-Managed = True
Manager = AnkhSVN-VisualStudioEndGlobalSectionのSubversionサポート
このセクションを削除しました。Gitソース管理プロバイダーをアクティブにすると問題なくソリューションが開きますが、Ankhsvnプロバイダーを選択すると文句が表示されます。状況は逆になります。
プル中に.slnファイルのこの部分を削除し(git svn fetch)、コミット時に追加するようにgitに指示したいと思います(git svn dcommit)。これはgitattributesとその方法で可能ですか?
編集:
追加しました
solutionname.sln filter = ankhsvn
$ GIT_DIR / info/attributesへ
と
[filter "ankhsvn"]
clean=sed '/^Global$/ r ../ankhsvnsection '
smudge=sed '/GlobalSection(SubversionScc)/,/EndGlobalSection/d '
私の.git/configファイルに。
ankhsvnsectionには、スマッジ操作によって削除されるセクションが含まれています。何もしていないようです!