Discussion:
Question about differences between cvs-1.12.13 and cvs-1.11.23
Denis Migounov
2009-03-13 15:08:52 UTC
Permalink
Hi all,

I'm working on integrating cvs-1.11.23 into OpenSolaris, and at the
stage of checking
interfaces I've found some differences between versions 1.12.13 and
1.11.23. Could someone please tell me
whether the following is true or not:

ENVIRONMENT VARIABLES:
--------------------------------------------------
CVSREADONLYFS, CVS_PROXYPORT, CVS_LOCAL_BRANCH_NUM, CVS_PID - all of
these are present in 1.12.13, but NOT in 1.11.23
CVS_SSH - is present in 1.11.23, but NOT in 1.12.13

COMMANDS:
-----------------------
ls, rls - are present in 1.12.13, but NOT in 1.11.23
(Note: I see "rls" mentioned here
http://cvs.savannah.gnu.org/viewvc/ccvs/NEWS?view=markup&root=cvs&revision=1.116.2.152

in the "Changes from 1.11.17 to 1.11.18" section, but there's no
description of the command in the 1.11.23 manual, also trying to run
'cvs rls' gives me the "Unknown command: `rls'" warning.)

Any help is appreciated.
- Denis
Mark D. Baushke
2009-03-16 05:47:53 UTC
Permalink
Post by Denis Migounov
I'm working on integrating cvs-1.11.23 into
OpenSolaris,
Okay.

Remember:

cvs 1.12.13 was released on 2005-10-03
cvs 1.11.23 was released on 2008-05-08

You may find it interesting to actually look
at the top of the cvs1-11-x-branch branch tag...

* The cvs1-11-x-branch has a fix for bug #17565
(Check for conflicts before keywords.)
* It has some minor build fixes to compiler on Windows.
* It has some test suite improvements.
* It has a fix to a problem in WriteTag relating
to permission problems
* There is a potential problem with -k options being
used with cvs diff which does not properly send
files to the server for comparisons which is fixed.

the patches are all very stable, but we have not yet
released a cvs 1.11.24 with them.
Post by Denis Migounov
and at the stage of checking interfaces I've
found some differences between versions 1.12.13
and 1.11.23.
There are a number of things already released in 1.11.x
which are fixed in 1.12.13.1 (i.e., the main.trunk).

The main.trunk has not been released in a long time.
Post by Denis Migounov
Could someone please tell me whether the
--------------------------------------------------
CVSREADONLYFS, CVS_PROXYPORT, CVS_LOCAL_BRANCH_NUM, CVS_PID - all of
these are present in 1.12.13, but NOT in 1.11.23
Correct. Those were new features which were deemed
reasonable to introduce into the FEATURE release
(1.12.x), but not the STABLE release (1.11.x).
Post by Denis Migounov
CVS_SSH - is present in 1.11.23, but NOT in 1.12.13
CVS_SSH is present in 1.12.13.1

The patch to root.c and rsh-client.c is fairly
easy to add to 1.12.13 if you wish. It was
introduced at the request of (I think it was an
eclipse user, but it may have been someone else)
for compatiblity with CVSNT and the :extssh:
method.
Post by Denis Migounov
-----------------------
ls, rls - are present in 1.12.13, but NOT in 1.11.23
(Note: I see "rls" mentioned here
http://cvs.savannah.gnu.org/viewvc/ccvs/NEWS?view=markup&root=cvs&revision=1.116.2.152
in the "Changes from 1.11.17 to 1.11.18"
section,
Hmmm... Yes, that looks like when Derek did a
backport of Dan Peterson's patch on 2004-04-25 to
cvs 1.11.x , he took the NEWS comment without
'fixing' it. I guess that should be fixed.

The ls.c command was something that Alexander
Taler and I sent to Derek before I was a cvs
committer. :-)
Post by Denis Migounov
but there's no description of the
command in the 1.11.23 manual, also trying to
`rls'" warning.)
The 'ls' and 'rls' sub-commands were introduced as
a way of getting a list of files in a repository
without needing to play games with parsing the
output of 'cvs rlog' commands. At the time, this
was useful for some automagic software. To give
credit where it is due, the CVSNT folks came up
with the ls/rls commands first.

These commands are still considered to be a
FEATURE that is not really needed for the STABLE
release of CVS... I think most IDEs are using cvs
1.12.x these days rather than cvs 1.11.x. (There
is also better support for spaces in file and
directory names in cvs 1.12.x and still have the
trigger scripts do something useful.)

A cvs 1.11.x user may could somewhat approximate
getting a listing of the structure of a cvs
repository using a command like:

cvs -q -n rlog -R .

to map out the available ,v files in the repository.
This servers mostly the same purpose as the 'rls'
command.... Well, not completely..

$ cvs -H rls
Usage: cvs rls [-e | -l] [-RP] [-r rev] [-D date] [path...]
-d Show dead revisions (with tag when specified).
-e Display in CVS/Entries format.
-l Display all details.
-P Prune empty directories.
-R List recursively.
-r rev Show files with revision or tag.
-D date Show files from date.
(Specify the --help global option for a list of other help options)
$ cvs -H ls
Usage: cvs ls [-e | -l] [-RP] [-r rev] [-D date] [path...]
-d Show dead revisions (with tag when specified).
-e Display in CVS/Entries format.
-l Display all details.
-P Prune empty directories.
-R List recursively.
-r rev Show files with revision or tag.
-D date Show files from date.
(Specify the --help global option for a list of other help options)
$

The primary users of the 'ls' and 'rls' commands are typically an IDE
rather than under the direct control of a user at the command-line.

The output of the timestamp is ISO8601 in format.

$ cvs ls hello-test.c
hello-test.c
$ cvs ls -l hello-test.c
---- 2008-11-25 11:46:47 -0800 1.30 hello-test.c
$ cvs rls -l CVSROOT/commitinfo
cvs rls: Listing module: `CVSROOT/commitinfo'
---- 2003-02-27 23:03:41 -0800 1.3 CVSROOT/commitinfo
$ cvs rls -l CVSROOT
cvs rls: Listing module: `CVSROOT'
---- 2003-02-27 23:11:13 -0800 1.3 checkoutlist
---- 2003-02-27 23:03:41 -0800 1.3 commitinfo
---- 2003-02-27 19:35:24 -0800 1.1 config
---- 2003-02-27 19:35:24 -0800 1.1 cvswrappers
---- 2003-02-27 19:35:24 -0800 1.1 editinfo
---- 2003-02-27 19:35:24 -0800 1.1 loginfo
---- 2003-02-27 23:10:25 -0800 1.1 loglinks.sh
---- 2003-02-28 18:38:30 -0800 1.5 mergemodules.sh
---- 2009-03-15 00:10:03 -0700 1.12246 modules
---- 2003-02-28 07:36:16 -0800 1.7 nocommits.sh
---- 2003-02-27 19:35:24 -0800 1.1 notify
---- 1999-09-07 08:13:43 -0700 1.3 options
---- 2003-02-27 22:53:48 -0800 1.2 rcsinfo
---- 2003-03-06 18:25:10 -0800 1.2 rcstemplate
---- 2003-02-27 19:35:24 -0800 1.1 taginfo
---- 2003-02-27 19:35:24 -0800 1.1 verifymsg
d--- 2009-03-16 05:25:25 -0700 commitlogs
d--- 2009-03-16 05:25:25 -0700 freebsd
$

Well, you get the idea.

If you have any particular requirements to backport
FEATURE branch features to STABLE, let bug-***@nongnu.org
known what you need and why, and it will be considered.

The goal has been to try to keep the STABLE CVS
revision able to build on a vast number of
platforms.

I still have hopes that we will see a CVS 1.12.14
(although I suppose given how much stuff is in it,
that it might possibly come with a different
revision number).

I have no idea if I have caused more questions
than I answered...

Good luck,
-- Mark

Loading...