2013-04-27 15 views
26

Obecnie rozwiązanie jest zarządzane przez SVN i chcę przełączyć na git. Kiedy zrobić Narzędzia-> Opcje-> Źródło Sterowanie> Plug-in Wybór i zmiana plug-in otrzymuję ten dialog:Zmień wtyczkę kontroli źródła w Visual Studio

enter image description here

Nigdy ominąć, że gdy otworzę go ponownie .sln wciąż jest SVN.

Mam przeczucie, że robiłem to wiele razy w przeszłości.

Informacje dodatkowe: Pliki są już zarządzane przez git, właśnie sklonowałem je za pomocą rozszerzeń git i było np. Problem dotyczy VS.

Odpowiedz

43

Sugestia: Nie przejmuj się przełączaniem. Usuń go z kontroli źródła (SVN) i sprawdź go od nowa (git). Lub, jeśli usunięcie go przez narzędzia Visual Studio nie działa, oto jak to zrobić ręcznie:

  1. Zamknij Visual Studio;
  2. Usunięcie folderu .svn
  3. Otwórz plik .SLN w notatniku, znajdź wiersze określające dostawcę SCC i usuń je.
  4. Ponownie otwórz rozwiązanie w Visual Studio - nie powinno już być pod kontrolą źródła i powinieneś być w stanie to sprawdzić w git.

Edit: Ręczne usuwanie tego z pliku .sln wystarczyły:

GlobalSection(SubversionScc) = preSolution 
    Svn-Managed = True 
    Manager = AnkhSVN - Subversion Support for Visual Studio 
EndGlobalSection 
+0

Istnieje lepsza opcja dla kroku 2. Zamiast kasowania wszystkich folderów .svn można wyeksportować źródła. Z np. TortoiseSVN, wybierz folder główny rozwiązania -> kliknij prawym przyciskiem myszy -> menu TortoiseSVN -> Eksportuj ... – ffonz

+1

Istnieje lepsze rozwiązanie dla tego procesu. Odpowiednik usunięcia wpisu SCC z pliku.Plik sln jest po prostu odłączony od SVN, bezpośrednio w Visual Studio, jak wyjaśniono w mojej odpowiedzi. – JotaBe

0

Właściwym sposobem na usunięcie tych ustawień dla dostawców SCC File -> Źródło sterowania -> Zmiana sterowania źródłami. Gdzie AnkhSVN wywołuje menu "Kontrola źródła" "Subversion".

Ta sztuczka powinna działać dla wszystkich dobrze wychowane dostawców SCC (VSS, TFS, AnkhSVN, itd. Itd.)

+0

Gdy napotkałem problem, jedynym sposobem na usunięcie powiązań AnkhSVN było ręczne wyczyszczenie pliku '* .sln'. – bahrep

+1

Próbowałem również, ale to nie zadziałało. Miałem Ankh jako wtyczkę dla SVN. Nie usuwaj jednak tej odpowiedzi. –

+1

Po odłączeniu pliku .sln w tym oknie dialogowym rejestracja w pliku .sln zostanie usunięta po ponownym zapisaniu pliku rozwiązania. (Sama zmiana oznaczy brudny .sln, więc VS poprosi o zapisanie) –

8

łatwiejszy sposób, aby robić to proces dwa kroki, które mogą być wykonane withput pozostawiając Visual Studio:

  1. Otwórz opcję menu Plik> Subversion> Zmień kontrolę źródła. W oknie dialogowym użyj przycisku Rozłącz.

  2. Jak opisano w pytaniu, otwórz menu Narzędzia> Opcje i zmień kontrolę źródła na git. Tym razem zmieni go bez narzekania.

1

Co faktycznie pomógł mi, nie mogę znaleźć w moim folderze rozwiązanie Asp.net core dowolny plik svn lub .git, ale w rzeczywistości nie było w C:\Users\NAME, usunięte tutaj .git plik był HIDDEN, to automatycznie zmienia się z git do TFVS , również w jakiś sposób utworzyło w moim folderze rozwiązania te pliki git, usunąłem je ponownie i zaczęło działać poprawnie. Jakiż to był ból głowy.