-sub process_rm {
- my ($gui, $last_commit, $f, $q) = @_;
- # remove entire directories.
- if (command('ls-tree',$last_commit,'--',$f) =~ /^040000 tree/) {
- my ($ls, $ctx) = command_output_pipe(qw/ls-tree
- -r --name-only -z/,
- $last_commit,'--',$f);
- local $/ = "\0";
- while (<$ls>) {
- print $gui '0 ',0 x 40,"\t",$_ or croak $!;
- print "\tD\t$_\n" unless $q;
- }
- print "\tD\t$f/\n" unless $q;
- command_close_pipe($ls, $ctx);
- return $SVN::Node::dir;
- } else {
- print $gui '0 ',0 x 40,"\t",$f,"\0" or croak $!;
- print "\tD\t$f\n" unless $q;
- return $SVN::Node::file;
- }
-}
-