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