3 # $Header: /home/ralph/netatalk/rsync/netatalk/contrib/shell_utils/Attic/apple_cp,v 1.2 2000-08-09 14:12:06 rufustfirefly Exp $
6 # Revision 1.2 2000-08-09 14:12:06 rufustfirefly
7 # /usr/local/bin/perl -> /usr/bin/perl and portability fixes
9 # Revision 1.1 2000/08/09 14:08:06 rufustfirefly
10 # Shell utils from http://www.-genome.wi.mit.edu/ftp/distribution/software/Bass/bass-1.29/apple_util/ (initial import)
12 # Revision 1.1 1996/04/03 02:13:12 lstein
13 # Added all these files because they're essential utilities.
15 # Revision 1.2 1996/02/09 18:44:44 will
18 # Revision 1.1 1996/02/09 18:21:35 will
24 Usage: $0 filename1 filename2
25 $0 filename ... directory
26 Do an apple copy, copying the resource fork as well
29 die $USAGE if @ARGV < 2;
31 @from = @ARGV; pop(@from);
34 if (-f $to && @from > 1) { die $USAGE; }
36 foreach $from (@from) {
38 print STDERR "file $from does not exist\n";
43 print STDERR "directory $to does not exist\n";
47 $cmd = "cp '$from' '$to'";
48 system $cmd || die "error executing $cmd";
50 ($from_dir, $from_file) = split_dir_file($from);
53 if (!-d "$to/.AppleDouble") {
54 mkdir("$to/.AppleDouble", 0777);
56 $cmd = "cp '$from_dir/.AppleDouble/$from_file' '$to/.AppleDouble/$from_file'";
58 ($to_dir, $to_file) = split_dir_file($from);
59 if (!-d "$to_dir/.AppleDouble") {
60 mkdir("$to_dir/.AppleDouble", 0777);
62 $cmd = "cp '$from_dir/.AppleDouble/$from_file' '$to_dir/.AppleDouble/$to_file'";
65 system $cmd || die "error executing $cmd";
68 # split a file path into a directory and file name.
72 @path_elems = split(/\//, $path);
74 my $file = pop(@path_elems);
79 $dir = join('/', @path_elems);