Я использую Visual Studio 2010 и git (git svn).Мой коллега использует чистый svn с плагином Ankhsvn.
Когда я пытаюсь открыть файл с включенным Git Source Control Provider, Visual Studion жалуется:
Source Control Plug-in
Активное решение или проект управляется подключаемым модулем управления источниками adifferen, отличным от выбранного вами.Если вы измените плагин управления исходным кодом, активное решение или проект будут закрыты.
Хотите продолжить?
Когда я нажимаю да, открывается пустое решение.Когда я нажимаю нет, все специфичные для git значки рядом с элементами решения отсутствуют (я по-прежнему вижу имя ветки в обозревателе решений), и каждый раз, когда я открываю решение, меня спрашивают о плагине управления исходным кодом.
Когда я клонирую репозиторий SVN, созданный моим коллегой, файл решения sln содержит следующее
GlobalSection (SubversionScc) = preSolution
Svn-Managed = True
Manager = AnkhSVN -Поддержка Subversion для Visual Studio
EndGlobalSection
Я удалил этот раздел, и теперь решение открывается без проблем, когда активирован Git Source Control Provider, но жалуется, когда вы выбираете Ankhsvn Provider - ситуацияполностью изменено.
Я хотел бы сказать git удалить эту часть файла .sln во время извлечения (git svn fetch) и добавить его, когда я фиксирую (git svn dcommit).Возможно ли это через gitattributes и как это сделать?
РЕДАКТИРОВАТЬ:
Я сейчас добавил
solutionname.sln filter = ankhsvn
в $ GIT_DIR / info / attribute
и
[filter "ankhsvn"]
clean=sed '/^Global$/ r ../ankhsvnsection '
smudge=sed '/GlobalSection(SubversionScc)/,/EndGlobalSection/d '
в мой файл .git / config.
ankhsvnsection содержит сектор, который удаляется нечетким образцомоперация.Я вроде ничего не делаю?!