Polecenie do rekurencyjnego usuwania wszystkich.katalogi svn na Windows

Mam katalog z wieloma podkatalogami. W każdym folderze znajduje się folder subversion (.svn).

Czy istnieje polecenie w systemie windows, które przejdzie przez każdy folder i podkatalog i usunie .folder svn?

Czy będę musiał stworzyć skrypt lub zrobić to ręcznie?

Author: Brian Webster, 2011-02-03

7 answers

Użyj svn export polecenie wyeksportowania roboczej kopii programu Subversion do nowej "czystej" struktury katalogów, która nie posiada katalogów .svn.

 29
Author: Greg Hewgill,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-03 17:45:24

Utwórz plik wsadowy litte z następującym wierszem i wykonaj go z folderu nadrzędnego, pod którym są .katalogi svn.

FOR /F "tokens=*" %%G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%%G"

Możesz również wydać poniższy wiersz prosto z wiersza polecenia:

FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.svn*') DO RMDIR /S /Q "%G"
 161
Author: Ajit Vaze,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-23 20:26:21

Zrób to w PowerShell.

Uwaga: jest to rekurencyjne, więc upewnij się, że jesteś we właściwym katalogu!

gci -fil '.svn' -r -force | ri -r -force

Oto reszta mojego skryptu oczyszczania drzewa źródłowego.

gci -fil 'bin' -r -force | ri -r -force
gci -fil 'obj' -r -force | ri -r -force
gci -fil '_ReSharper*' -r -force | ri -r -force
gci -fil '*.suo' -r -force | ri -r -force
gci -fil '*.user' -r -force | ri -r -force
 46
Author: Bobby Cannon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-03 17:50:46

Jeśli chcesz usunąć wszystkie podfoldery o nazwie .svn w windows następnie utwórz plik wsadowy o tej zawartości:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d *.svn') do (
rd /s /q "%%i"
)

Zapisz go w pliku del_All_Dot_SVN_Folders.cmd . Uruchom go. Jesteś skończony.

Dzięki http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/

Pamiętaj, że powyższy kod ma .svn natomiast kod w linku ma tylko * svn więc lepiej mieć .svn, aby nie przypadkowo mieć niepożądany efekt.

 9
Author: visar_uruqi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-31 21:15:43

Po prostu wpisz .svn w polu wyszukiwania Eksploratora plików, a następnie zaznacz i usuń wszystkie wyniki wyszukiwania(Zobacz komentarz JB Nizeta). Metoda ta może być oczywiście również używana do szybkiego usuwania katalogów obj i bin, np. podczas organizowania archiwów svn.

Chociaż OP poprosił o rozwiązanie wiersza poleceń, wskazał również na Windows i rozważał ręczne usunięcie, więc metoda Eksploratora plików może być nadal brana pod uwagę, zwłaszcza że jest to najszybsza Metoda i nie polega na "narzędzia", takie jak eksport svn.

Chociaż OP już wybrał akceptowaną odpowiedź, ta odpowiedź może być nadal przydatna dla innych. Przynajmniej mi się to przydało, dawno temu użytkownikowi Linuksa / windows, który preferuje linie poleceń i najpierw dowiedział się o polu wyszukiwania po tym poście: -)

explorer screenshot with searchbox

 8
Author: Roland,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-25 14:24:13

Wiem, że jest za późno, aby odpowiedzieć na to, ale myślę, że jest łatwy sposób, jeśli mają eclipse i svn plugin zainstalowany na eclipse. Kliknij prawym przyciskiem myszy na projekcie, przejdź do Team - >disconnect. Otworzy się okienko, w którym wybierzesz pierwszą opcję: 'Usuń także meta-informacje SVN z systemu plików.'Spowoduje to automatyczne usunięcie wszystkich folderów SVN wraz z plikami właściwości svn, które możesz czasami zapomnieć podczas usuwania .tylko foldery svn!

 0
Author: fresh learner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-23 10:28:43

Jako ważny punkt, jeśli chcesz uruchomić shell , Aby usunąć .foldery svn, może być potrzebny argument -depth, aby zapobiec komendzie find wchodzącej do katalogu, który został właśnie usunięty i wyświetlającej głupie komunikaty o błędach, takie jak np.

"find: ./.svn: No such file or directory"

Aby pozbyć się tego błędu, możesz użyć polecenia find w następujący sposób:

cd [dir_to_delete_svn_folders]
find . -depth -name .svn -exec rm -fr {} \;
 -1
Author: fatihk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-23 07:17:53