Change source control plug-in in Visual Studio
Asked Answered
D

6

47

Currently the solution is managed by SVN and I want to switch to git. When I do Tools->Options->Source Control->Plug-in Selection and change plug-in I get this dialog:

enter image description here

I never get past that, when I open the .sln again it is still SVN.

I have a feeling I have done this many times in the past.

Additional info: The files are already managed by git, I just cloned it using git extensions and it was np. The issue is in VS.

Doubleton answered 27/4, 2013 at 7:36 Comment(1)
Is there a way to do vice versa GIT to SVN ?Wehrmacht
S
73

Suggestion: Don't bother with switching. Remove it from source control (SVN) and check it in anew (git). Or, if removing it by Visual Studio tools doesn't work, here's how you do it manually:

  1. Close Visual Studio;
  2. Delete the .svn folder
  3. Open the .SLN file in notepad, find the lines which specify the SCC provider, and delete them.
  4. Open the solution in Visual Studio again - it should not be under source control anymore and you should be able to check it in git.

Edit: Manually removing this from the .sln file did the trick:

GlobalSection(SubversionScc) = preSolution
    Svn-Managed = True
    Manager = AnkhSVN - Subversion Support for Visual Studio
EndGlobalSection
Sidoney answered 27/4, 2013 at 7:49 Comment(5)
There is a better option for step 2. Instead of deleting all the .svn folders, you can export the sources. With e.g. TortoiseSVN, select the root folder of your solution -> right click -> TortoiseSVN menu -> Export...Moua
There is a better solution for this process. The equivalent of deleting the SCC entry from the .sln file is simply to disconnect from SVN, directly within Visual Studio, as explained in my answer.Crystallite
This didn't fix it for me, as the Projects were still bind to svn. So you need to apply this to all Projects. Or better check out @JotaBe's answerShelburne
@Shelburne - All the information about bindings is in the .SLN and/or project files. All the information from SVN itself is in the .svn folders. Search and destroy. :) (Also, I haven't worked with VS in a while, perhaps they've added something else)Sidoney
This answer was very useful to me! I actually added the code that given in this answer to my .SLN file to get it to open using AnkhSVN as the default source control, instead of Perforce P4V which Visual Studio was wrongly auto selecting when opening my SVN source controlled project.Lake
C
23

The easier way to do it is a two steps process which can be done withput leaving Visual Studio:

  1. Open the menu option File > Source Control > Change Source Control. In the dialog use the Disconnect button.

  2. As described in the question itself, open the menu Tools > Options, and change the Source Control to git. This time it will change it without complaining at all.

Crystallite answered 26/10, 2016 at 16:12 Comment(6)
The File > Subversion menu is not in my VS2019.Physoclistous
@GlenLittle It's supposed to read "source control" not "subversion". I fixed that.Harmonize
I dont see any of this menus under File. VS 2019Wehrmacht
Under file there is no source control optionOz
This solution seems to be non-permanent for me for some reason. Seems like there's a bug in visual studio 2022, that forces users to reset the source control setting every time the .sln is opened (defaulting it to GIT).Denouement
Source Control is not appear under File menu.Abdias
C
2

What actually helped me, I could not find in my Asp.net core solution folder any svn file or .git, but it was in C:\Users\NAME, deleted there .git file, it was HIDDEN. Then in vs automatically source control changed from git to TFVS. however it somehow created in my solution folder git files, deleted once more and it started to work fine.

Chondrite answered 6/2, 2017 at 20:37 Comment(0)
E
0

The proper way to remove these settings for SCC providers is File -> Source Control -> Change Source Control. Where AnkhSVN calls the 'Source Control' menu 'Subversion'.

This trick should work for all well behaved SCC providers (VSS, TFS, AnkhSVN, etc. etc.)

Eggbeater answered 6/5, 2013 at 12:12 Comment(3)
When I encountered the issue, the only way to remove AnkhSVN bindings was to manually clean-up *.sln file.Pahang
I also tried that but it did not work. I had Ankh as plugin for SVN. Don't delete this answer though.Doubleton
If you disconnect the .sln file in this dialog this registration in the .sln will be removed when the solution file is saved again. (The change itself will mark the .sln dirty so VS will ask you to save it)Eggbeater
F
0

If you have more than one source control is installed and you are trying to switch from one of the option to other forever, go to Extension> Manage Extension> Installed> choose the one that gets selected by default and uninstall. This will set the selected option to none. Now you can select your desired source control.

Fortyfive answered 12/2, 2021 at 14:42 Comment(0)
O
0

JUst find the hidden .git folder in the root of your website and delete it. THen it will allow you to switch the plug-in to TFS without any error

Oz answered 4/5, 2023 at 11:3 Comment(2)
Delete .git and switch to TFS? The OP was switching from Subversion to Git. Did you answer the right question?Dotard
Sorry I meant delete .svn folderOz

© 2022 - 2024 — McMap. All rights reserved.