Linux & SVN: Как удалить все версионные файлы, кроме структуры директории KEEP, игнорировать файлы.svn?
Я хочу удалить все версионные файлы из моего репозитория, но СОХРАНИТЕ версионную структуру каталогов. Очевидно, я хочу оставить все каталоги.svn нетронутыми.
Другими словами, я хочу полностью очистить структуру каталогов рабочей копии, не нанося вреда самой структуре каталогов.
Например, удаление файлов из этой структуры:
dir/
.svn/
[files]
svsubdir1/
file1
.svn/
[files]
subdir2/
file2
file3
file4
.svn/
[files]
subsubdir1/
file5
.svn/
[files]
Должно привести к:
dir/
.svn/
[files]
svsubdir1/
.svn/
[files]
subdir2/
.svn/
[files]
subsubdir1/
.svn/
[files]
Я ищу какой-то find
команда или что-то для этого, и у меня возникли проблемы при создании команды. Спасибо за помощь!
2 ответа
find dir/ -path '*/.svn' -prune -o -type f -print
должен отвечать всем требованиям (в основном это происходит на странице поиска для -path
). Трубите это меньше и проверьте это. Сначала он выполняет поиск (путь заканчивается на.svn и не возвращается в этот каталог), либо (если это файл, распечатайте его).
Если это выглядит хорошо, измените его на
find dir/ -path '*/.svn' -prune -o -type f -exec rm {} +
+ Версия объединяет все файлы в одну команду rm. Если вы параноик, сохраните резервную копию дерева (cp -a dir/ otherdir/
) первый.
находить. -не-путь "*/.svn/*" -и -тип f -and -exec /bin/rm '{}' \;
Должен сделать трюк.