mit folgendem befehl kann man rekursiv .svn ordner löschen:
rm -rf `find . -type d -name .svn`
mit folgendem befehl kann man rekursiv .svn ordner löschen:
rm -rf `find . -type d -name .svn`
Findet alle Dateien die mit ._ anfangen, ignoriert die .svn eigenen kopien und markiert diese zum löschen via svn.
find . -name '._*' -type f | grep -v '.svn/' | xargs svn rm
protected function rGlob($pattern = '*', $flags = 0, $path = false)
{
if (!$path)
{
$path = dirname($pattern).DIRECTORY_SEPARATOR;
}
$pattern = basename($pattern);
$paths = glob($path.'*', GLOB_MARK|GLOB_ONLYDIR|GLOB_NOSORT);
$files = glob($path.$pattern, $flags);
foreach ($paths as $path)
{
$files = array_merge($files, $this->rGlob($pattern, $flags, $path));
}
return $files;
}
Folgender Kommandozeilen Befehl löscht alle .svn Verzeichnisse in einem Ordner.
Im Detail sucht das Kommando find
im aktuellen Ordner (.) rekursiv
nach Verzeichnissen (-type d)
mit dem Namen .svn (-name .svn)
und piped (|) diese Liste
nach xargs,
welches dann an erster Stelle (-0) der Liste
mit der Löschoperation (rm -rf) beginnt.
find . -type d -name .svn -print0 | xargs -0 rm -rf