head	1.2;
access;
symbols
	RELENG_4_11_0_RELEASE:1.1.1.1
	RELENG_4_11:1.1.1.1.0.20
	RELENG_4_11_BP:1.1.1.1
	RELENG_4_10_0_RELEASE:1.1.1.1
	RELENG_4_10:1.1.1.1.0.18
	RELENG_4_10_BP:1.1.1.1
	RELENG_4_9_0_RELEASE:1.1.1.1
	RELENG_4_9:1.1.1.1.0.16
	RELENG_4_9_BP:1.1.1.1
	RELENG_4_8_0_RELEASE:1.1.1.1
	RELENG_4_8:1.1.1.1.0.14
	RELENG_4_8_BP:1.1.1.1
	RELENG_4_7_0_RELEASE:1.1.1.1
	RELENG_4_7:1.1.1.1.0.12
	RELENG_4_7_BP:1.1.1.1
	RELENG_4_6_2_RELEASE:1.1.1.1
	RELENG_4_6_1_RELEASE:1.1.1.1
	RELENG_4_6_0_RELEASE:1.1.1.1
	RELENG_4_6:1.1.1.1.0.10
	RELENG_4_6_BP:1.1.1.1
	v5_006_01:1.1.1.1
	RELENG_4_5_0_RELEASE:1.1.1.1
	RELENG_4_5:1.1.1.1.0.8
	RELENG_4_5_BP:1.1.1.1
	RELENG_4_4_0_RELEASE:1.1.1.1
	RELENG_4_4:1.1.1.1.0.6
	RELENG_4_4_BP:1.1.1.1
	RELENG_4_3_0_RELEASE:1.1.1.1
	RELENG_4_3:1.1.1.1.0.4
	RELENG_4_3_BP:1.1.1.1
	RELENG_4_2_0_RELEASE:1.1.1.1
	RELENG_4_1_1_RELEASE:1.1.1.1
	PRE_SMPNG:1.1.1.1
	RELENG_4_1_0_RELEASE:1.1.1.1
	v5_006:1.1.1.1
	RELENG_4_0_0_RELEASE:1.1.1.1
	RELENG_4:1.1.1.1.0.2
	RELENG_4_BP:1.1.1.1
	v5_005_03:1.1.1.1
	LWALL:1.1.1;
locks; strict;
comment	@# @;


1.2
date	2002.05.16.10.07.48;	author markm;	state dead;
branches;
next	1.1;

1.1
date	99.05.02.14.19.06;	author markm;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	99.05.02.14.19.06;	author markm;	state Exp;
branches;
next	;


desc
@@


1.2
log
@Perl is no longer in base. Long live the port!
@
text
@#!/usr/bin/perl

# $RCSfile: findcp,v $$Revision: 4.1 $$Date: 92/08/07 17:20:12 $

# This is a wrapper around the find command that pretends find has a switch
# of the form -cp host:destination.  It presumes your find implements -ls.
# It uses tar to do the actual copy.  If your tar knows about the I switch
# you may prefer to use findtar, since this one has to do the tar in batches.

sub copy {
    `tar cf - $list | rsh $desthost cd $destdir '&&' tar xBpf -`;
}

$sourcedir = $ARGV[0];
if ($sourcedir =~ /^\//) {
    $ARGV[0] = '.';
    unless (chdir($sourcedir)) { die "Can't find directory $sourcedir: $!"; }
}

$args = join(' ',@@ARGV);
if ($args =~ s/-cp *([^ ]+)/-ls/) {
    $dest = $1;
    if ($dest =~ /(.*):(.*)/) {
	$desthost = $1;
	$destdir = $2;
    }
    else {
	die "Malformed destination--should be host:directory";
    }
}
else {
    die("No destination specified");
}

open(find,"find $args |") || die "Can't run find for you: $!";

while (<find>) {
    @@x = split(' ');
    if ($x[2] =~ /^d/) { next;}
    chop($filename = $x[10]);
    if (length($list) > 5000) {
	do copy();
	$list = '';
    }
    else {
	$list .= ' ';
    }
    $list .= $filename;
}

if ($list) {
    do copy();
}
@


1.1
log
@Initial revision
@
text
@@


1.1.1.1
log
@Maintenance releace 3 of perl5.005. Includes support for threads.
@
text
@@
