Hi gang,
Due to some recent stupidity on my part I decided to spend this evening reading up on the Porters handbook some more and look into the several available utilities for managing your port collection.
ports-mgmt/portcheckout is what I'd call a "high profile port" because it's explicitly mentioned in the ports(7) manualpage: "The portcheckout(1) (ports-mgmt/portcheckout) script (also a port, of course!) will help to download new ports."
After you downloaded it you can check the portcheckout(1) manualpage which says that: "Portcheckout(1) uses cvs(1) by default to check-out port skeletons.". But hasn't CVS been replaced by Subversion recently?
So I decided to begin easy and try a non-destructive option from the manualpage: "Print-out the shell commands to checkout de-dict and dependences":
	
	
	
		
Needless to say, but this is not what I'd expected from what I consider to be a high profile port.
Because the manualpage mentions that this script uses CVS by default I think this somewhat implies that it also should be able to use Subversion. The "SEE ALSO" section doesn't look convincing though:
	
	
	
		
So I decided to look into /usr/local/bin/portcheckout myself and I noticed that the use of CVS is actually hard coded into the script:
	
	
	
		
The section which generates the "checkout script" seems only capable of generating a script which uses CVS:
	
	
	
		
So I'm a bit puzzled here.
Shouldn't this script have been updated or removed as well by now?
				
			Due to some recent stupidity on my part I decided to spend this evening reading up on the Porters handbook some more and look into the several available utilities for managing your port collection.
ports-mgmt/portcheckout is what I'd call a "high profile port" because it's explicitly mentioned in the ports(7) manualpage: "The portcheckout(1) (ports-mgmt/portcheckout) script (also a port, of course!) will help to download new ports."
After you downloaded it you can check the portcheckout(1) manualpage which says that: "Portcheckout(1) uses cvs(1) by default to check-out port skeletons.". But hasn't CVS been replaced by Subversion recently?
So I decided to begin easy and try a non-destructive option from the manualpage: "Print-out the shell commands to checkout de-dict and dependences":
		Code:
	
	smtp2:/home/peter $ portcheckout de-dict
cvs checkout: No CVSROOT specified!  Please use the `-d' option
cvs [checkout aborted]: or set the CVSROOT environment variable.
Cannot read INDEX file. Give up!
	Because the manualpage mentions that this script uses CVS by default I think this somewhat implies that it also should be able to use Subversion. The "SEE ALSO" section doesn't look convincing though:
		Code:
	
	SEE ALSO
       See also [man=7]ports[/man], [man=1]cvs[/man], [man=1]cvsup[/man].
	So I decided to look into /usr/local/bin/portcheckout myself and I noticed that the use of CVS is actually hard coded into the script:
		Code:
	
	    # Read the Ports Index from the CVS Repository if
    # the file name is relative.
    #
    # Note: this can took some time if you run CVS over a
    # slow link (anonymous CVS or CVS over ssh).
    if ($index =~ m%^[a-z]+/INDEX%oi) {
        my @exec = ('cvs', '-Q', 'co', '-p');
        push(@exec, $release) if $release;
        open(INDEX, "-|") ||
            exec (@exec, $index) ||
                die "Cannot execute @exec $index\n";
    }
	The section which generates the "checkout script" seems only capable of generating a script which uses CVS:
		Code:
	
	# uncomment next line if you have write permission to /usr/ports/distfiles
#print qq{DISTDIR="/usr/ports/distfiles"; export DISTDIR\n};
print "\n# checkout FreeBSD ports system Makefiles\n";
print "cvs checkout -P $release ports/Mk\n";
print "cvs checkout -P $release ports/Templates\n\n";
	Shouldn't this script have been updated or removed as well by now?