Mam folder, c:\websites\test
który zawiera foldery i pliki pobrane z repozytorium, które już nie istnieje. Jak sprawić, by Subversion przestał śledzić ten folder oraz którykolwiek z podfolderów i plików?
Wiem, że mógłbym po prostu usunąć .svn
folder, ale jest wiele podfolderów na wielu warstwach.
Odpowiedzi:
Ponadto, jeśli używasz TortoiseSVN, po prostu wyeksportuj do bieżącej lokalizacji kopii roboczej, aby usunąć foldery i pliki .svn.
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
Zaktualizowana odpowiedź dla Subversion 1.7:
W Subversion 1.7 kopia robocza została gruntownie zmieniona. Istnieje tylko jeden folder .svn, znajdujący się w podstawie kopii roboczej. Jeśli używasz 1.7, to po prostu usunięcie folderu .svn i jego zawartości jest łatwym rozwiązaniem (niezależnie od użycia TortoiseSVN lub narzędzi wiersza poleceń).
źródło
W systemie Linux będzie to działać:
źródło
Spróbuj wyeksportować svn .
Powinieneś być w stanie zrobić coś takiego:
A następnie po prostu usuń starą kopię roboczą.
TortoiseSVN ma również funkcję eksportu , która zachowuje się w ten sam sposób.
źródło
svn: E000002: Can't stat '/.classpath': No such file or directory
Jeśli korzystasz z systemu Windows, możesz wyszukać w tym folderze
.svn
i wyświetli je wszystkie. Naciśnięcie Ctrl+ Aspowoduje zaznaczenie ich wszystkich, a naciśnięcie klawisza Delete usunie wszystkie „nieznośne” Subversion.źródło
W systemie Linux polecenie to:
źródło
Odkryłem, że nie musisz nawet kopiować do tymczasowej lokalizacji. Możesz zrobić
a pliki .svn zostaną usunięte na miejscu , pozostawiając pozostałe pliki bez zmian . Bardzo wygodny i mniej podatny na bałagan.
źródło
Bez podpowłoki w systemie Linux do usuwania
.svn
folderów:źródło
Żadna z tych odpowiedzi nie była zadowalająca w mojej sytuacji. Jestem na subversion 1.8 i miałem kopię roboczą, która miała tylko jeden
.svn
folder w pierwszym folderze, root. Chciałem jednak usunąć niektóre gałęzie z kopii roboczej.Niezależnie od tego, co zrobiłem, za każdym razem, gdy przeprowadzałem „aktualizację”, przywracało te pliki i przywracało je wszystkie. Nie chciałem ich usuwać z repozytorium, tylko z mojego komputera - ale musiałem zachować resztę kopii roboczej w takt (tak więc nie mogłem po prostu usunąć folderu .svn).
Rozwiązanie?
svn update --set-depth exclude <dir>
Jest to „aktualizacja” po stronie klienta, która wyklucza określony katalog. Można go znaleźć w instrukcjach na svnbook.com . W skrócie opisuje to jako:
W przypadku TortoiseSVN możesz również zrobić to samo, klikając prawym przyciskiem myszy folder, którego nie chcesz, kliknij
Update to revision...
, a następnie ustaw „Głębokość aktualizacji” naExclude
, jak pokazano na tym zrzucie ekranu:źródło
Działa dobrze dla mnie:
źródło
mkdir -p ';echo Hi Johnny;/.svn'
- w takim przypadku wywołanie funkcji {} find powinno nadal działaćUżyj
svn export
polecenia:Wszystkie pliki pod kontrolą wersji zostaną wyeksportowane. Sprawdź dwukrotnie, aby upewnić się, że niczego nie przeoczyłeś.
źródło
Wystarczy usunąć folder .svn w wymaganym folderze, a następnie formant zostanie automatycznie usunięty.
źródło
W systemie Windows możesz dodać szybki link do tego menu Eksploratora, klikając prawym przyciskiem myszy. Po prostu uruchom ten skrypt rejestru:
Spowoduje to dodanie elementu o nazwie „Usuń foldery SVN” do menu po kliknięciu prawym przyciskiem myszy. Spowoduje to usunięcie wszystkich folderów .svn w tym folderze i wszystkich podfolderów.
Źródło (niemiecki): http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
źródło
Możesz użyć „eksportu svn” do utworzenia kopii tego folderu bez danych svn lub możesz dodać ten folder do listy ignorowanych
źródło
Dla użytkowników NetBeans z SVN dostępna jest opcja „Subversion> Eksport”.
źródło
Jest też ładne małe narzędzie open source o nazwie SVN Cleaner, które dodaje trzy opcje do menu kontekstowego Eksploratora Windows:
źródło
W systemie Windows 7 można po prostu otworzyć folder projektu i wyszukać „.svn”, jeśli włączone są ukryte pliki, i usunąć wszystkie znalezione foldery .svn.
źródło
.svn
katalogi już nie istnieją, są rozproszone. Aby uzyskać więcej informacji, sprawdź subversion.apache.org/docs/release-notes/1.7.html#wc-ngSprawdź to, http://www.hacktrix.com/how-to-delete-svn-folders-from-your-project-on-windows-linux-and-mac
źródło
Odpowiedź jest zaskakująco prosta - wyeksportuj folder do siebie ! TortoiseSVN wykrywa ten szczególny przypadek i pyta, czy chcesz, aby kopia robocza została wypakowana. Jeśli odpowiesz tak, katalogi kontrolne zostaną usunięte i będziesz miał proste, niewersjonowane drzewo katalogów.
źródło
Inne (prostsze) rozwiązanie dla systemu Linux:
źródło
Jeśli uważasz, że możesz wygrać za pomocą prostej magicznej komendy, nie powiodło się! SVN jest naprawdę trudny i zawsze w jakiś sposób wraca z nowym komunikatem o błędzie w Xcode. Wcześniej czy później, obiecaj ... więc musisz to zrobić mądrze!
Jak wiesz, regularną i najlepszą praktyką w Xcode jest usuwanie pliku w okienku projektu po lewej stronie. Jeśli go przegapiłeś i jakoś usunąłeś w Finderze, masz kłopoty. Duży problem! Ale możesz to rozwiązać i zaoszczędzić czas, jeśli zrobisz to dobrze.
Najpierw musisz usunąć odniesienie SVN do pliku lub folderu, zanim będziesz mógł je usunąć
Jeśli możesz po prostu odłożyć plik / folder z kosza lub cofnąć ostatni krok po jego usunięciu, to ...
Idź do terminalu - tak, stary dobry terminal - i idź do tej lokalizacji. Najlepszym sposobem jest po prostu wpisz cd, a następnie przeciągnij folder / plik do terminala. Dostaniesz coś podobnego
Możesz sprawdzić, gdzie jesteś
polecenie, które wyświetla listę twoich plików.
Następnie musisz usunąć odwołanie svn za pomocą polecenia SVN:
svn delete --keep-local fileName_toDelete
Spowoduje to usunięcie pliku z repozytorium SVN, ALE musisz go usunąć ręcznie w Finderze.
źródło
Używam rsync:
źródło
Użytkownicy NetBeans IDE mogą to zrobić w następujący sposób:
Wybierz projekt
W oknie dialogowym
Możesz teraz przejść na Git :)
źródło
Moim pomysłem jest usunięcie folderu .svn, a następnie przeniesienie wszystkich innych plików do nowego folderu. To takie proste.
źródło
Podczas korzystania z systemu operacyjnego Windows przejdź do lokalizacji folderu i sprawdź, czy ukryte pliki są otwarte, a następnie możesz zobaczyć folder SVN . Po prostu usuń ten folder.
źródło
svn export
działa dobrze, ale myślę, że to jest:Usuwa go z lokalnego repozytorium.
źródło
Jako istotną kwestię, gdy używasz powłoki do usuwania folderów .svn, potrzebujesz argumentu -depth, aby uniemożliwić komendzie find wejście do właśnie usuniętego katalogu i wyświetlenie komunikatów o błędach, takich jak np.
W rezultacie możesz użyć
find
polecenia jak poniżej:źródło
Z wiersza polecenia systemu Windows:
źródło
Użyj następujących opcji:
svn rm --keep-local <folder name>
aby usunąć folder i wszystko w nim zawarte.svn rm --keep-local <folder name>/*
aby zachować folder, ale usuń wszystko z folderu.Oto przykład tego, co się dzieje:
źródło
W systemie Windows 10 musimy przejść do
Windows Explorer
, a następnie przejść doView
i zaznaczyć pole wyboru dlaView hidden files
.Następnie przejdź do folderu połączonego z SVN w Eksploratorze Windows i usuń
.svn
folder / plik.źródło
.svn
folder podstawowy , ale pyta o wszystkie podfoldery. Proszę przeczytać dokładnie na to pytanie.