mirror/perl

From: Christoph Kukulies <kuku(at)gilberto.physik.rwth-aachen.de>
Date: Tue, 18 Mar 1997 15:28:36 +0100 (MET)

Still trying to figure out why mirror always gets everything
when mirroring the whole shebang /pub/FreeBSD.

perl is perl5.003

I ran mirror -n -d -d -d -d -pall (where all is /pub/FreeBSD)
and tail of my mirror.out looks this:

       dest FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/valloc.c,v (): 70/01/01-01:00:00 0 0
get file FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/valloc.c,v as FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/valloc.c,v (2274)
Compare src FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/ralloc.c,v (46199): 97/02/17-23:00:00 14441 f
       dest FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/ralloc.c,v (): 70/01/01-01:00:00 0 0
get file FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/ralloc.c,v as FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/ralloc.c,v (14441)
Compare src FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/mtrace.c,v (46200): 97/02/17-23:00:00 5027 f
       dest FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/mtrace.c,v (): 70/01/01-01:00:00 0 0
get file FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/mtrace.c,v as FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/mtrace.c,v (5027)
 prodding remote ftpd
Compare src FreeBSD-CVS/src/gnu/lib/libmalloc/Attic/mtrace.awk,v (46201): 97/02/17-23:00:00 1798 f

One can see easily that the dest timestamp is 1-Jan-1970 (the unix big bang)

I believe this is the piece of code in mirror which is responsible for
the line aboved:

              if( $debug > 2 ){
                        &msg( " dest $dest_path ($desti): " .
                                &t2str( $dest_time[ $desti ] ) );
                        &msg( " $dest_size[ $desti ] $dest_type[ $desti ]" );
                        &msg( " (->$compress_suffix)" ) if $compress;
                        &msg( " (split)" ) if $split;
                        &msg( "\n" );
                }
      

and I suspect:

sub t2str
{
        local( @t );
        if( $use_timelocal ){
                @t = localtime( $_[0] );
        }
        else {
                @t = gmtime( $_[0] );
        }
        local($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = @t;

        return sprintf( "%02d/%02d/%02d-%02d:%02d:%02d",
                $year, $mon + 1, $mday, $hour, $him, $sec );
}
        

Any perl guru out there who could give me a hint what tiny test I could
run to locate the problem?

--
Christoph P. U. Kukulies kuku(at)gil.physik.rwth-aachen.de
Received on Tue 18 Mar 1997 - 15:25:42 CET

search this site