/[pliva-si]/.data/save_perm.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /.data/save_perm.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (hide annotations)
Tue Nov 20 15:01:59 2001 UTC (22 years, 4 months ago) by dpavlin
Branch: MAIN
Changes since 1.1: +5 -1 lines
File MIME type: text/plain
saves links too

1 dpavlin 1.1 #!/usr/local/bin/perl -w
2    
3     use English;
4    
5     my @dirs = ("/data/pliva-si");
6    
7     while (@dirs) {
8     my $curr_dir=shift @dirs;
9     opendir(DIR,$curr_dir) || die "opendir: $!";
10     my @ignore = ('.', '..', 'CVS');
11     if (-f "$curr_dir/.cvsignore") {
12     open(I,"$curr_dir/.cvsignore");
13     while(<I>) {
14     chomp;
15     push @ignore,$_;
16     }
17     close(I);
18     }
19     print STDERR "ignore: ",join("|",@ignore);
20     @clutter = readdir(DIR);
21     foreach my $file (@clutter) {
22 dpavlin 1.2 if (-l "$curr_dir/$file" && grep(/^\Q$file\E$/,@ignore) == 0) {
23     my $dest=readlink("$curr_dir/$file");
24     $dest="$curr_dir/$dest" if (substr($dest,0,1) ne "/");
25     print "ln -s $dest $curr_dir/$file\n";
26     } elsif (-f "$curr_dir/$file" && grep(/^\Q$file\E$/,@ignore) == 0) {
27 dpavlin 1.1 my (undef,undef,$mode,undef,$uid,$gid) = stat("$curr_dir/$file");
28     if ($uid != $UID || $gid != $GID) {
29     print "chown ",scalar(getpwuid($uid)),":",scalar(getpwuid($gid))," $curr_dir/$file\n";
30     printf "chmod %04o %s\n", ($mode & 07777), "$curr_dir/$file";
31     }
32     } elsif (-d "$curr_dir/$file" && grep(/^\Q$file\E$/,@ignore) == 0) {
33     push @dirs,"$curr_dir/$file";
34     } else {
35     print STDERR "skip: $curr_dir/$file\n";
36     }
37     }
38     }

  ViewVC Help
Powered by ViewVC 1.1.26