Mail Archives: djgpp/2019/12/15/16:20:36
This is a port of CVS 1.11.23 to MSDOS/DJGPP.
CVS is a version control system, which allows you to keep old versions
of files (usually source code), keep a log of who, when, and why changes
occurred, etc. It handles multiple developers, multiple directories,
triggers to enable/log/control various operations, and can work over a
wide area network.
IMPORTANT: CVS uses many filenames for its files that are invalid under
MS-DOS. You will need LFN support to run this program under plain DOS.
It is very unlikely that it may be possible to port this program to a
SFN OS without breaking the complete code. I will certainly not try.
DJGPP specific changes.
=======================
- To install, configure, compile and use this port you will need
LFN support. There is no way to use the cvs program _WITHOUT_
LFN support.
- The zlib included in the sources has been replaced with the latest
DJGPP port of zlib. Currently this is zlb1211.
- Where it was appropriate the diff programs code provided by the
sources has been modified according to the changes done to the
latest DJGPP port of diffutils. Currently this is dif37.
- The port has been configured and compiled to use "edit" as default
editor. You can specify any other editor by setting the CVSEDITOR
environment variable. Please note that only for edit all slashes
in the path of the file name are converted into backslashes. This
means that no other editor that requires backslashes in the paths
is supported.
- This port can be compiled using the latest version of the GDBM port
instead of the included data base routines. What data base will be
used when the sources are configured and compiled can be selected as
flags passed to config.bat:
1) config.bat ndbm
will make that the binary is compiled using the ndbm library
provided by the latest DJGPP port of gdbm.
2) config.bat gdbm
will make that the binary is compiled using the gdbm library
provided by the latest DJGPP port of gdbm.
3) If neither ndbm nor gdbm is passed as flag to config.bat
then the data base functions provided by the CVS sources will
be used. This is the way the binary has been compiled.
I have developt this port for gdbm111 and I have neither tested it for
any previous nor later version of this port. It must be clear that if
repositories shall be shared between different CVS programs they all
must use the same data base program so the best is to use CVS's own
data base code. Again, I recommend to use always the original data
base code provided by cvs itself because this is the only way to make
sure that the created repository can be used with every version of CVS.
- CVS uses its own routines instead of an external RCS, so none of the
extensions of the DJGPP port of RCS will be available.
- This port will look for the global configuration file (aka .cvsrc)
at the home directory of the user by evaluating the $HOME environment
variable. If it is not set it will look at /dev/env/DJDIR and at the
directory where the cvs program is stored. In that order.
- All files are treated as text by default. If you want to put a binary
file in a CVS repository, you should always use the -kb option when
adding/importing those files. You can use this same method to add Unix-
style text files, but do note that -kb disables RCS keyword expansion,
which may not be what you want.
For more information, see the 'Binary files' topic in the CVS Info file.
- Only local CVSRoots are supported. This port of CVS can not act as a
server, nor can it act as a client to a CVS server. Neither kerberos
nor ssh ports for DJGPP are available so it is unlikely that in the
near future a DJGPP port of CVS that provides this functionality will
be available.
- Probably none of the scripts stored in the /share/cvs/contrib directory
will work under DOS. This should not be an issue because almost all
programs required by these scripts have also not been ported to DOS yet,
thus the functionality implied by these scripts is not available on DOS
anyway.
- Where the CVS repository is created/stored is controled by the CVSROOT
environment variable. I have set CVSROOT in the global part of my
djgpp.env like this:
+CVSROOT=E:/_DJGPP_PORTS_REPOSITORY_
To create a new CVS repository from scratch follow the following steps:
1) set CVSROOT pointing to the directory that shall contain the
repository. E.g.:
set CVSROOT=Z:/PROJECTS_REPOSITORY
2) create the repository by running the command:
cvs init
This will create the /PROJECTS_REPOSITORY directory and the
/PROJECTS_REPOSITORY/CVSROOT directory that is populated with
CVS control files.
3) assuming that the contents of the /acme directory shall be
added or imported into the repository run the following
command sequence:
cd acme
cvs import -m "Initial revision." ports/acme jmg start
cd ..
This imports all files and all subdirectories stored in the
/acme directory into the repository creating there the
/PROJECTS_REPOSITORY/ports/acme directory. "jmg" is the
author's signature and "start" is a required flag. During
the import you will get a lot of output and if the import
has succeeded you will see at the end a message like this:
No conflicts created by this import
For further details read the manual.
- I have tested this port by using it during the last 8 years to
administrate all the ports I have been maintaining.
- The port has been configured and compiled on WinXP SP3, Win98SE and
MS-DOS 7.10 using DOSLFN 0.41c. There is absolute no guarantee that
this may be possible with any other DOS-like OS. Due to the use of
long file names it will not be possible to configure and compile
without LFN support.
- This version of the port has been compiled using gcc346 and bnu2331b.
As usual, all djgpp specific files (diffs, README files, etc.) are stored
in the "djgpp" directory. The sources have been configured to be build in
the "_build" directory. If for some reason it does not work for you,
delete its contents and configure from scratch again.
For further information about CVS please read the info docs and NEWS file.
Here is an extract of the ChangeLog file showing the user visible changes
from the last port (CVS 1.10) to this one:
-------------------------------------------------------------------------------
The list of changes between version 1.10 and 1.11.23 is to long
to be reproduced here. See the ChangeLog file for details.
-------------------------------------------------------------------------------
The port consists of the usual three packages that have been produced using
djdev205 (CVS repository code) and can be downloaded from ftp.delorie.com
and mirrors as (time stamp 2019-12-14):
CVS 1.11.23 binary and info format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/cvs111b.zip
CVS 1.11.23 dvi, html, ps and pdf format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/cvs111d.zip
CVS 1.11.23 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/cvs111s.zip
Send CVS specific bug reports to <bug-cvs AT nongnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -