/[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

Diff of /.data/save_perm.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by dpavlin, Fri Nov 9 16:42:06 2001 UTC revision 1.5 by dpavlin, Wed Nov 21 10:16:13 2001 UTC
# Line 6  my @dirs = ("/data/pliva-si"); Line 6  my @dirs = ("/data/pliva-si");
6    
7  while (@dirs) {  while (@dirs) {
8          my $curr_dir=shift @dirs;          my $curr_dir=shift @dirs;
9          opendir(DIR,$curr_dir) || die "opendir: $!";          opendir(DIR,$curr_dir) || warn "opendir: $!";
10          my @ignore = ('.', '..', 'CVS');          my @ignore = ('.', '..', 'CVS');
11          if (-f "$curr_dir/.cvsignore") {          if (-f "$curr_dir/.cvsignore") {
12                  open(I,"$curr_dir/.cvsignore");                  open(I,"$curr_dir/.cvsignore");
# Line 19  while (@dirs) { Line 19  while (@dirs) {
19          print STDERR "ignore: ",join("|",@ignore);          print STDERR "ignore: ",join("|",@ignore);
20          @clutter = readdir(DIR);          @clutter = readdir(DIR);
21          foreach my $file (@clutter) {          foreach my $file (@clutter) {
22                  if (-f "$curr_dir/$file" && grep(/^\Q$file\E$/,@ignore) == 0) {                  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 -sf $dest $curr_dir/$file\n";
26                    } elsif ((-f "$curr_dir/$file" || -d "$curr_dir/$file") && grep(/^\Q$file\E$/,@ignore) == 0) {
27                          my (undef,undef,$mode,undef,$uid,$gid) = stat("$curr_dir/$file");                          my (undef,undef,$mode,undef,$uid,$gid) = stat("$curr_dir/$file");
28                          if ($uid != $UID || $gid != $GID) {                          if ($uid != $UID || $gid != $GID) {
29                                  print "chown ",scalar(getpwuid($uid)),":",scalar(getpwuid($gid))," $curr_dir/$file\n";                                  print "chown ",scalar(getpwuid($uid)),":",scalar(getpwuid($gid))," $curr_dir/$file\n";
30                                  printf "chmod %04o %s\n", ($mode & 07777), "$curr_dir/$file";                                  printf "chmod %04o %s\n", ($mode & 07777), "$curr_dir/$file";
31                          }                          }
32                  } elsif (-d "$curr_dir/$file" && grep(/^\Q$file\E$/,@ignore) == 0) {                          push @dirs,"$curr_dir/$file" if (-d "$curr_dir/$file");
                         push @dirs,"$curr_dir/$file";  
33                  } else {                  } else {
34                          print STDERR "skip: $curr_dir/$file\n";                          print STDERR "skip: $curr_dir/$file\n";
35                  }                  }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.26