#!/usr/bin/perl -w # -*- perl -*- # # $Id: $ # Author: Slaven Rezic # use strict; use File::Find; my $new_root = shift; if (!defined $new_root) { if (defined $ENV{CVSROOT}) { $new_root = $ENV{CVSROOT}; } else { die "New CVS root is not specified in the command line. Alternatively the value of CVSROOT will be used.\n"; } } find(\&wanted, '.'); sub wanted { if ($File::Find::name =~ m|/CVS/Root|) { open(O, ">$_") or die "Can't write to $File::Find::name: $!"; binmode O; warn "Changing $File::Find::name...\n"; print O "$new_root\n"; close O; } } __END__ =head1 NAME newcvsroot - change the CVS root in a working directory =head1 SYNOPSIS newcvsroot [newroot] =head1 DESCRIPTION C changes the CVS root in the current working directory and all subdirectories. If C is not specified, then the value of the environment variable C is used as the new CVS root. =head1 README newcvsroot changes the CVS root in the current working directory and all subdirectories. =head1 PREREQUISITES L =head1 OSNAMES OS independent =head1 SCRIPT CATEGORIES VersionControl:CVS =head1 AUTHOR Slaven Rezic =head1 SEE ALSO cvs(1). =cut