Jak usunąć folder z kontroli źródła za pomocą TortoiseSVN?

129

Jak mogę usunąć folder z kontroli źródła za pomocą TortoiseSVN ?

Szansa
źródło
10
Dobre pytanie. Jest to absurdalnie skomplikowane w przypadku tego, co powinno być prostym zadaniem.
Paul Suart
Uwaga dla każdego, kto użył opcji „Aktualizacja SVN do wersji” (zamiast wypisania svn): spróbuj ponownie użyć Aktualizacji SVN do wersji, ale tym razem z głębokością aktualizacji ustawioną na Wyklucz.
Wallace Brown
możesz usunąć .svnpowiązany folder
ahmednabil88
Zawsze się zastanawiałem, czy w systemie Windows / Tortoise można po prostu USUNĄĆ lokalny folder na komputerze. Na twoim serwerze jest więc repozytorium REPO. I tak się składa, że ​​masz wersję tego na swoim komputerze, LOCALFOLDER. Po prostu nie potrzebujesz już tej lokalnej wersji na tym komputerze. W tym przypadku po prostu usuwam folder LOCALFOLDER na komputerze. (W ogóle nic nie robię z menu Żółwia przed wyrzuceniem LOCALFOLDERU do kosza). Aby było jasne, nie chcę w żaden sposób wpływać na REPO - po prostu nie chcę / potrzebuję już wersji LOCALFOLDER. Zawsze się zastanawiałem, czy można to zrobić?
Fattie
A może Tortoise przechowuje „coś innego” gdzieś na komputerze, aby od tej pory Tortoise czuł, że brakuje LOCALFOLDER?
Fattie

Odpowiedzi:

56

W rozszerzonym menu kontekstowym znajduje się dedykowana pozycja:

  • Przytrzymaj Shiftklawisz i kliknij prawym przyciskiem myszy folder.
  • W menu TortoiseSVN kliknij „Usuń (zachowaj lokalnie)”

wprowadź opis obrazu tutaj

Obraz wykadrowany z rozszerzonej strony menu kontekstowego TortoiseSVN .
Usuń (zachowaj lokalną) notkę dokumentacji.

bob esponja
źródło
4
Właściwie to CTRL + SHIFT po kliknięciu folderu prawym przyciskiem myszy. Come on Stackoverflow, dlaczego znalazłem tę odpowiedź na dole?
hollystyles
4
Z której wersji korzystacie? Wersja 1.6.12 nie ma opcji Usuń (zachowaj lokalnie). Ani Shift, ani CTRL + Shift nie pomagają.
thehhv
1
Właśnie sprawdziłem ponownie i po prostu Shift + prawy przycisk myszy działa dla mnie. @thehhv wersja 1.6.10 nadal ma opcję.
bob esponja
1
Świetna odpowiedź. Shift + kliknięcie rzeczywiście działa z wersją 1.6.10. Po wykonaniu tej czynności nadal będziesz musiał zatwierdzić plik, aby zniknął ze zdalnego repozytorium.
hotshot309
2
Powinno to zostać oznaczone jako odpowiedź, ponieważ jest to najłatwiejszy sposób korzystania z TortoiseSVN
alejosoft
176

Najłatwiejszy sposób jest opisany tutaj: http://tortoisesvn.net/unversion.html

Ten artykuł jest nieco rozwlekły, a niektóre metody nie zadziałały dla mnie (np. Przeciągnięcie folderu do siebie - system Windows 7 na to nie pozwolił)).

Oto, co w artykule zadziałało dla mnie:

Proste: po kliknięciu kopii roboczej prawym przyciskiem myszy i wybraniu opcji „ Eksportuj ...” z menu kontekstowego zostanie wyświetlone okno dialogowe przeglądania folderów, w którym można wybrać folder, do którego ma zostać wyeksportowana kopia robocza. Jeśli teraz wybierzesz tę samą ścieżkę, na której znajduje się twoja kopia robocza, jako docelową (tj. Eksportujesz kopię roboczą do siebie), TortoiseSVN usunie wszystkie foldery .svn tej kopii roboczej.

Stefan
źródło
3
Stefan, wypróbowałem procedurę, którą opisałeś i TSVN pokazuje mi okno dialogowe "Unversion" (z paskiem postępu pokazującym postęp), ale po zakończeniu procesu folder jest taki sam jak poprzednio. Mam Win7 i folder znajduje się w udziale sieciowym - czy może to mieć coś wspólnego z niepowodzeniem procedury (po cichu)? (W każdym razie +1, ponieważ ta procedura jest dokładnie tym, czego potrzebuję)
Heinrich Ulbricht
Nie powinno zawieść po cichu. Czy na pewno są tam ukryte foldery .svn?
Stefan
Tak, widzę ich. Mój pierwotny problem polega na tym, że chcę pozbyć się całego wyewidencjonowanego katalogu (w tym podkatalogów) w udziale sieciowym. Nie udało się, ponieważ system Windows mówi, że ktoś używa plików. Pomyślałem więc, że może to być pamięć podręczna svn i używając metody ze świata TSVN mogę rozwiązać ten problem z dostępem. Ale bez powodzenia :(
Heinrich Ulbricht
1
Aby uniknąć konieczności podążania za linkiem, procedura jest powtarzana tutaj: Prosta: po kliknięciu kopii roboczej prawym przyciskiem myszy i wybraniu opcji „Eksportuj ...” z menu kontekstowego, pojawia się okno dialogowe przeglądania folderów, w którym można wybrać folder, do którego chcesz wyeksportować kopię roboczą. Jeśli teraz wybierzesz tę samą ścieżkę, na której znajduje się twoja kopia robocza, jako docelową (tj. Eksportujesz kopię roboczą do siebie), TortoiseSVN usunie wszystkie foldery .svn tej kopii roboczej.
Charley Rathkopf
Kiedy próbowałem tego, zacząłem otrzymywać błędy, że katalog, który wyeksportowałem do siebie, nie był teraz „katalogiem roboczym” i był „zablokowany” i powinienem wyczyścić, ale kiedy spróbowałem tego (IIRC), pojawił się błąd, że katalog główny został zablokowany. W końcu właśnie wykonałem PRZESUŃ (przeciągnij folder do folderu innego niż SVN iz rozwijanego menu wybierz „Eksportuj ...”), a następnie Usuń (oba z Tortoise).
Clay Nichols
12

Jeśli chcesz usunąć folder z kontroli źródła, ale zachować go lokalnie, najłatwiej byłoby to zrobić

  1. utwórz kopię zapasową folderu (po prostu skopiuj go gdzie indziej)
  2. postępuj zgodnie z instrukcjami usuwania
  3. przywrócić folder
  4. powiedz subversion, aby „Ignoruj” folder

Powinieneś także usunąć .svnkatalog, który kręci się w folderze, który usuwasz, w przeciwnym razie będziesz mylić svn / tortoise. Możesz także wykonać „Eksport” w kroku 1, który usunie wszystkie .svnkatalogi za Ciebie (jeśli robisz to dla całego drzewa katalogów zamiast pojedynczego katalogu, jest to o wiele wygodniejsze niż ręczne czyszczenie folderów) .

AwesomeTown
źródło
1
W przypadku (1) możesz wyeksportować, aby pozbyć się danych SVN kopii.
dahlbyk
Racja - musisz go usunąć przez TortoiseSVN, przywrócić go, a następnie usunąć wszystkie znajdujące się w nim foldery svn (jak również plik .version).
Szansa
* a potem zignoruj ​​to - działało jak urok (dzięki)
Chance
Dla mnie samo wyeksportowanie go pozbyło się repozytorium SVN i zielonych znaczników wyboru w folderze, które chciałem.
Hammad Khan
7

Menu TortoiseSVN ma opcję Eksportuj, która da ci kopię folderu odłączonego od repozytorium. Alternatywnie możesz kliknąć prawym przyciskiem myszy i przeciągnąć folder i wybrać opcję „Eksportuj SVN do tego miejsca” lub „Eksportuj wszystko do SVN”.

„Eksportuj wszystko” jest równoznaczne z wybraniem opcji „Eksportuj również pliki bez wersji” w oknie dialogowym Eksportuj, co skutecznie sklonuje kopię roboczą bez folderów .svn.

dahlbyk
źródło
6

Kliknij prawym przyciskiem myszy katalog, przejdź do TortoiseSVN -> Usuń . Następnie kliknij prawym przyciskiem myszy katalog nadrzędny i SVN Commit ..., co spowoduje usunięcie folderu.

Sean Bright
źródło
2
Spowoduje to również usunięcie folderu.
tunnuz
To była odpowiedź, której szukałem ... Znalazłem ją również tutaj: tortoisesvn.net/docs/release/TortoiseSVN_en/…
Bardzo nieregularne
2

Wyszukiwanie systemu Windows, ustawianie flagi systemowej i plików ukrytych ... nazwa pliku ".svn" ... po wyszukaniu - sortuj, aby wszystkie katalogi .svn były zgrupowane razem ... podświetl - naciśnij usuń :)

Jason P.Sage
źródło
2

Uruchomiłem polecenie żółwia „Aktualizuj do SVN 1.7”, które wzięło wszystkie foldery .svn i połączyło je w jeden folder. Udało mi się wtedy usunąć tylko jeden folder .svn i wszystko było gotowe!

jhilden
źródło
2

Widzę, że istnieją trzy proste metody cofnięcia weryfikacji i zachowania lokalnej wersji pliku (lub katalogu) z TortoiseSVN:

  1. Eksportowanie na tej samej ścieżce, co napisał Stefan ;
  2. funkcja „usuń (zachowaj lokalną)” dostępna za pomocą klawisza Shift jako odpowiedź boba esponji ;
  3. Unversion i dodaj opcję ignorowania listy , którą zgłaszam z tą odpowiedzią

Ta ostatnia metoda jest dla mnie najłatwiejsza z trzech, natomiast pierwsza (z największą liczbą głosów) jest najdłuższa pod względem operacji do wykonania.

Zac
źródło
2

Usuń folder .svn w folderze, który chcesz usunąć z kontroli wersji.

akerra
źródło
1

Oto, co zadziałało dla mnie:

  1. Kliknij prawym przyciskiem myszy folder / gałąź, którą chcesz usunąć i użyj TortoiseSNV-> Usuń
  2. Wykonaj czyszczenie. Zrobiłem to z wiersza poleceń svn cleanup <path to the folder to delete including folder name>,; w przeciwnym razie możesz zrobić to samo, klikając folder prawym przyciskiem myszy i wykonać czyszczenie.
  3. Przejdź do katalogu nadrzędnego folderu, który chcesz usunąć, i zatwierdź zmiany.

Powinno to usunąć folder z katalogu roboczego iz Subversion.

zen
źródło
1

Eksportowanie folderu do nowej lokalizacji przy zaznaczonej opcji „Eksportuj niewersjonowane pliki do” działało świetnie. TortoiseSVN usuwa wszystkie ustawienia specyficzne dla Subversion i otrzymujemy czysty folder. Teraz możesz usunąć oryginalny folder i przenieść tam nowy wyeksportowany folder.

Rehan Farooq
źródło
0

Od czasu do czasu napotykam foldery kopii roboczych z Subversion, które, jak wiem, potrzebują już pod kontrolą wersji. Chcę ich „odwrócić”. Zazwyczaj szukam i usuwam wszystkie powiązane foldery .svn, ale jest łatwiejszy sposób, jeśli masz zainstalowany TortoiseSVN.

Powinieneś być zaznajomiony z poleceniem „Eksportuj”. Spowoduje to utworzenie kopii plików w nowej lokalizacji bez tych wszystkich nieznośnych folderów .svn. Jeśli chcesz coś „cofnąć wersję”, ale nie chcesz kopii - po prostu zrób „eksport”, a kiedy Tortoise zapyta o „folder do wyeksportowania”, po prostu wybierz ten sam folder, w którym znajduje się twoja kopia robocza! Tortoise przystąpi do usuwania wszystkich folderów .svn.

Cytat: http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/

zdobyć
źródło
-1

Kliknij prawym przyciskiem myszy kopię roboczą i wybierz „Eksportuj ...” z menu kontekstowego. Zostanie wyświetlone okno dialogowe przeglądania folderów.

Musisz wybrać tę samą ścieżkę, na której znajduje się twoja kopia robocza, jako cel. TortoiseSVN zapyta, czy chcesz usunąć wszystkie foldery .svn tej kopii roboczej. Po prostu mówi tak!

Heyjee
źródło