summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/cvs/windows-NT/README
blob: 2a821746b4bd34667067e3a1cac3fa41fb8d28af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
	           Concurrent Versions System (CVS)
		    ported to Microsoft Windows NT
			   Cyclic Software

Check the ../INSTALL file for information on the most recent version
of CVS which has been known to be tested with NT and/or Win95.

This port implements the full set of CVS commands, both local and
client.  It does not provide a CVS server for NT.  Multiple users can
access a common CVS repository, if they can mount the repository,
either directly or via a networked file system.

We don't distribute a .ZIP source distribution partly because, as far
as I can tell, PKZIP insists on munging long file names, which would
confuse the makefile for Visual C++.

To compile, use Microsoft Visual C++ on the file cvsnt.mak in the
distribution's top directory.  At least with the tar port I'm using,
the sources get extracted without carriage returns and you must add
carriage returns to the end of every line in cvsnt.mak.  I also had to
add them to src/server.c.  It doesn't seem to be necessary to add them
to any other file.  This makefile was generated with Visual C++ 2.1.
As far as is known, it should work with Visual C++ 4.0 also.

Send bug reports to bug-cvs@prep.ai.mit.edu.

This port passes all of the tests in src/sanity.sh, save the one that
deals with reserved all-upper-case tags (BASE and HEAD), due to a
limitation in the NT command shell.  sanity.sh provides pretty minimal
feature coverage, but still gives me some confidence it isn't totally
broken.

To operate in client mode, you will need GNU patch.  To do compressed
transfers with old versions of CVS (1.8 and older), you also need
gzip.  Note that you do NOT need an rsh client if you are using the
:server: access method (which uses the internal rsh client), except
perhaps for debugging.

To operate in local mode, you will need GNU patch, GNU diffutils,
and rcs version 5.7 installed on your system.  Make
sure NOT to get a version of rcs less than 5.7 (gr564bnt.zip was
particularly bad), because those versions insist on putting their
files in their own directory structure, making them incompatible with
CVS.

Noel Cragg, who did the latest mods to the Windows NT port, used the
following packages:

	ftp://wuarchive.wustl.edu/systems/ibmpc/gnuish/patch212.zip
	ftp://ftp.netcom.com/pub/al/alexande/rcs57nt.zip
	ftp://ftp.netcom.com/pub/al/alexande/diff57nt.zip

Copies of these zip files can be also be found in the windows-nt
directory for the latest CVS release (cvs-1.9/windows-nt, for example)
under:

	ftp://ftp.cyclic.com/pub/cvs/ or
	http://www.cyclic.com/archive/pub/cvs/

If you want to try other versions of these utilities, you might have
luck with the Congruent ports of these packages to Windows NT, binary
and source:

	ftp://microlib.cc.utexas.edu/microlib/nt/gnu/

In particular, microlib seems to have versions of GNU tar and gzip
which support long file names, which you will need to unpack the CVS
source distribution.

The CYGWIN32 package is a port of various GNU tools for NT, providing
bash as the shell and gcc as the compiler.  The tools are still in
development, but they are useful for running a modified version of
sanity.sh:

	http://www.cygnus.com/misc/gnu-win32/

Morten Hindsholm's port of CVS 1.4A2 to Windows NT may be useful if
you're modifying CVS itself:

	ftp://ftp.digex.net/pub/access/schueman/cvs/cvsnt14b.zip

Here are some other things which may be of interest for unix junkies:

	http://www.halcyon.com/gvr/vim/       (VI clone)
	ftp://wuarchive.wustl.edu/systems/ibmpc/gnuish/less177.zip

If you want to browse/edit the sources using Visual C++, we recommend
setting tab stops to 8 spaces, since that is what the CVS sources
expect.  The tab stop setting is in the "Editor" or "Tabs" section of
the "Options..."  dialog which is in the "Tools..." menu.

The following harmless warnings are known:

- regex.c: 103 warnings, mostly signed/unsigned comparison conflicts.
  I am not going to *touch* this code. :-) I got my fill of it when I was
  hacking GNU Emacs.

.\lib\getdate.c(760) : warning C4013: 'getdate_yyparse' undefined; assuming extern returning int
.\lib\getdate.c(1612) : warning C4102: 'yyerrlab' : unreferenced label
.\lib\getdate.c(1612) : warning C4102: 'yynewstate' : unreferenced label