+print $break, "\nChecking out the latest rsync into $releasedir ...\n";
+
+mkdir($releasedir, 0755) or die $! unless -d $releasedir;
+chdir($releasedir) or die $!;
+
+system 'rm -rf rsync';
+
+my(%dirs, @files);
+open(CVS, '-|', 'cvs checkout -P rsync') or die $!;
+while (<CVS>) {
+ print $_;
+ next if /\.(cvs)?ignore$/;
+ if (m#^[UP] rsync/(.*)#) {
+ my $fn = $1;
+ my($dir) = $fn =~ m#^(.+)/#;
+ push(@files, $dir) if defined($dir) && !$dirs{$1}++;
+ push(@files, $fn);
+ }
+}
+
+chdir('rsync') or die $!;
+
+my($version, $lastversion);
+open(IN, 'configure.in') or die $!;
+while (<IN>) {
+ if (/^RSYNC_VERSION=(.*)/) {
+ $version = $lastversion = $1;
+ last;
+ }
+}
+close IN;
+
+$lastversion =~ s/(\d+)cvs$/ $1 - 1 /e;
+$version =~ s/cvs/pre1/ || $version =~ s/pre(\d+)/ 'pre' . ($1 + 1) /e;
+
+print $break, "\nPlease enter the version number of this release: [$version] ";
+chomp($_ = <STDIN>);
+if ($_ eq '.') {
+ $version =~ s/pre\d+//;
+} elsif ($_ ne '') {
+ $version = $_;
+}