Как я могу рекурсивно удалить все каталоги .svn, используя Perl? - PullRequest
4 голосов
/ 18 ноября 2009

Как бы выглядел Perl-скрипт, который бы взял каталог, а затем рекурсивно удалил все .svn каталоги в этом каталоге?

(без оболочки, кроссплатформенная)

1 Ответ

14 голосов
/ 18 ноября 2009

Вы можете (и, вероятно, должны) использовать svn export в первую очередь.

В противном случае используйте Файл :: Найти и Файл :: Путь :: rmtree :

#!/usr/bin/perl

use strict; use warnings;

use File::Find;
use File::Path qw( rmtree );
use File::Spec::Functions qw( catfile );

find(\&rm_dot_svn, $_) for @ARGV;

sub rm_dot_svn {
    return unless -d $File::Find::name;
    return if /^\.svn\z/;
    rmtree(catfile $File::Find::name, '.svn');
    return;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...