Windows vs SourceForge (was RE: [Python-Dev] Just spotted on SourceForge main page)

Tim Peters
Tue, 4 Jul 2000 01:01:48 -0400

> The great thing about all the instructions I've found so far is
> that they're written by people who apparently have no real understanding
> of how the underlying components (and/or Windows) work.

[an anonymous Guido replied in pvt]
> That was not my impression of Andy's instructions.  They were to the
> point and effective.

Yes, they certainly *looked* that way <wink>.  I didn't mean to slander
Andy!  His instructions didn't work for me, but then nobody else's did
either, and I've increasingly suspected it's because I've got so many
half-broken SSH, CVS, and WinCVS installations on this machine fighting each

So, without an imminent release busting my homeless balls, I decided to take
the time to start over from scratch:

+ Ran an official uninstaller for everything that left one behind (only

+ Manually tracked down all the crap WinCVS left behind in the registry
anyway, and deleted it.

+ Deleted all the ssh and cvs .exe's on machine.

+ Got the crap out of my autoexec.bat (I'm running Win98SE) that various
packages had inserted there (I *think* this stuff was left behind by the
SourceForge setup tool).

+ Deleted all the .ssh directories on my machine (and found some in
surprising places!  e.g., one was hiding under "\My Documents"(!)).

+ Got rid of an absurd \etc directory (again suspect the SF setup tool,
although several goofy sets of instructions demanded you create one of

+ Nuked my entire Python tree.

+ Rebooted.

+ Did a full tape backup of the machine <wink -- but I've had it with this

+ Retrieved Andy Robinson's instructions and tried them again.

Worked great!  I'll attach a modified version below, where I filled in
blanks and repaired (just a few) typos as I went along.  This should get you
a functional Windows cmdline CVS running with SourceForge, and I don't want
a GUI version anyway.  If there's anything here that isn't crystal clear or
doesn't work, gripe at me, not Andy ...

all's-well-that-ends-ly y'rs  - tim

Setting up a cmdline CVS to work with SourceForge under Windows
28-Jun-2000 Original by Andy Robinson (
03-Jul-2000 Modified by Tim Peters (

1. Get
(copied from somewhere obscure for safety, I forget where)

2. Unzip these to a location on your path.  Type 'cvs'
and 'ssh' from somewhere else to verify.

3. Choose where to keep your CVS projects; let's assume

4. Create a subdirectory C:\Code\.ssh  (yes, dot-ssh)

5. (see #8 for an alternative) Create two environment variables:
HOME must point to the directory above your .ssh directory.
On Win9x, this can be done in a batch file or autoexec.bat; e.g.,
    set HOME=c:\Code
    set CVS_RSH=ssh
Run the batch file, or reboot if you're using autoexec.bat.
On NT or 2000, go to Control Panel | System | Environment
and set them at either user or machine level.

6. If not done so, get a Sourceforge account and a project
you can log in to.

7. Teach SSH about your project's home, by doing
	ssh -l $USERNAME $
where $USERNAME is your SourceForge login name and $MYPROJECT your
SourceForge project name.  You'll see
    Host "$" added to the list of known hosts.
and then
    Creating random seed file ~/.ssh/random_seed.  This may take a while.
After a while it will prompt for a password.  Type your SourceForge
password and hit ENTER.  After some SourceForge msgs scroll by, you'll
be left at a SourceForge shell prompt.  Type
and hit ENTER.  Now you're back at the DOS prompt.

8. You will need either a lengthy command line or a batch file
for each sourceforge project.  I set cvsroot in a batch file
in my 'c:\code' directory, and have one such file for each
CVS project I use (about ten of them!):


where $USERNAME and $MYPROJECT are again your SourceForge login and project
names, and $DIRNAME is the top-level directory in the SourceForge CVS tree;
a project can have several, but usually there is just one.  Note:  you can
keep HOME and CVS_SSH out of your permanent environment (see #5) by adding
those definitions to this batch file instead.

9. Execute this batch file.  You can now go to C:\Code and do
	cvs -z7 checkout $MYPROJECT
(z7 means 'compress network traffic', handy over dialup lines)

10. From now on, just use CVS normally, running this batch file first
each time you bring up a DOS box you're going to use for CVS work.  Note
that you'll be asked for your password each time you enter a CVS

I wouldn't survive without Karl Fogel's book "Open Source Development
with CVS", Coriolis Press.  The CVS reference material (about 225 printed
pages!) from this book is available for free download from

Footnote: for anonymous checkout, I think you just omit the 'my_user_name@'
part from the CVSROOT variable.

I hope this helps; let me know if people have any problems with the

Andy Robinson