Updated: cvs-1.11.5-1

Charles Wilson cwilson@ece.gatech.edu
Sat May 31 01:16:00 GMT 2003


cvs has been updated to version 1.11.5-1.  CVS is the 'Concurrent
Versioning System', a widely-used package for maintianing revision
histories of source code.  This port is based on the official cvs-1.11.5
release, and requires that libgdbm-1.8.0-5 be installed as well.

This is an update to version 1.11.5 from 1.11.0; there have been lots of 
changes under the hood.  cvs-1.11.5 adds the rlog command, as well as a 
number of bugfixes.  AFAIK, the server mode is still broken.  cvs-1.11.5 
has been available for months as an unofficial test release, and on the 
cygwin mirror system as an official test release for two weeks.  There 
have been no significant problems reported, so...

This version actually performs better on the self-tests than the old 
cvs-1.11.0 version did, so that's good.  I have not verified the 
interaction of binary/text mounted repository directories with 
binary/text mounted working dirs.  (However, since text mounts were 
basically broken in 1.11.0, any improvement in that area is gravy.)

                   binary-mounted         text-mounted
                   repository dir        repository dir

binary-mounted       works              ? (probably NOT work)
working dir

text-mounted         works              ? (probably NOT work)
working dir

See the NOTES below for my summary of the cvs selftest results.

--Chuck


INSTALLATION:

To update your installation, click on the "Install Cygwin now" link on
the http://sources.redhat.com/cygwin web page.  This downloads setup.exe
to your system.

Run setup and answer all of the questions.  PLEASE, PLEASE, PLEASE
choose a mirror site for your download.  The 'sources.redhat.com' site
is badly overloaded.  The mirrors below have the latest version of this
package:

ftp://ftp.sunsite.utk.edu/pub/cygwin/ (US)
ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/mirrors/cygnus/
(Germany)
ftp://ftp.ntua.gr/pub/pc/cygwin/ (Greece)

The setup.exe program will figure out what needs to be updated on your
system and should install the less package automatically.

If you have questions or comments, please send them to the Cygwin
mailing list at:  cygwin@sources.redhat.com .  I would appreciate if you
would use this mailing list rather than emailing me directly. This
includes ideas and comments about the setup utility or Cygwin general.

If you want to make a point or ask a question the Cygwin mailing list is
the appropriate place.

               *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

If you want to unsubscribe to the cygwin-announce mailing list, look at
the "List-Unsubscribe: " tag in the email header of this message. Send
email to the address specified there.  It will be in the format:

cygwin-announce-unsubscribe-you=yourdomain.com@sources.redhat.com

NOTES:

o updated to the 1.11.5 source

o requires cyggdbm.dll from libgdbm-1.8.0-5 package

If you have never used cvs before -- please do some research before
asking 'how-do-I' questions.  Here's the really short version:
   <unpack the binary distro, then>
   export CVSROOT=/usr/local/src/CVS
   cvs init

o test reports and user comments appear below.

--Chuck

------- Test reports from running 'make check'
------- cygwin-1.3.22 on W2Ksp3, CYGWIN=tty binmode ntsec
------- all drives mounted binary

You can only run the 'official' tests if you download the source archive
(cvs-1.11.5-1-src.tar.gz) and build cvs yourself.  In any case, here are
some notes from my personal tests, running the 'make check' suite of
tests. This took several hours to complete.

Of the many hundreds of tests performed in local: mode and in remote: 
mode, cvs failed only the following:

local: modules        remote: modules
local: modules6       remote: modules6
local: binfiles3      remote: binfiles3
local: errmsg1        remote: errmsg1
                       remote: devcom3
                       remote: crerepos

To run the tests individually, don't type 'make check'. Instead, cd to
<top>/src and type:
   '/bin/sh ./sanity.sh `pwd`/cvs list-of-tests-to-run'

You can find the list of all tests inside sanity.sh starting at line
674.

This list of failures may be scary, but it's better than the older 
cygwin port of cvs-1.11.0-1. I'd appreciate any reports of success or 
failure using this version.

--------------------------------------------
BEGIN      cvs-1.11.5-1.CHECK-SUMMARY
--------------------------------------------

Table of contents:
   Notes
   Brief Summary of Test Failures
   Gory Test Results

Of 123 local: tests and 123 remote: tests,
(each with many subtests), only the following
failures were observered:

local: modules        remote: modules
local: modules6       remote: modules6
local: binfiles3      remote: binfiles3
local: errmsg1        remote: errmsg1
                       remote: devcom3
                       remote: crerepos

For Extremely Gory Test Results, see the files
   cvs-1.11.5-1.check.localpass
   cvs-1.11.5-1.check.localfail
   cvs-1.11.5-1.check.remotepass
   cvs-1.11.5-1.check.remotefail


--------------------------------------------
                  NOTES
--------------------------------------------

NOTES:
  (0) All tests run on W2k, NTFS, cygwin=ntsec, binary mounts
      for EVERYTHING, including the build dir, src dir, and
      /tmp.

  (1) I have made no attempt to fix or find any text/binary issues
      in the cygwin port of cvs.  It's entirely possible that any
      extant issues have already been fixed in the official codebase.
      It's also possible that bugs still lurk.

  (2) The old cvs-1.11.0-1 cygwin release failed these tests
      (only :local: access was tested):
	
      join-readonly-conflict (subtest 1)
      modules                (subtest 148)  failed with a coredump
      errmsg1                (subtest 168)
      binfiles3              (subtest 11)
      rcs2                   (subtest 7)
      rcs3                   (subtest 5)

      So, the 1.11.5-1 actually performs better than 1.11.0-1; it
      no longer fails the rcs2, rcs3, and join-readonly-conflict tests.
      Of the four :local: failures, three are no change from the
      earlier release.  The only "new" failure is modules6 -- but
      that test didn't exist in 1.11.0, so it isn't a regression, per se.

      ===>  no regressions from cvs-1.11.0-1  <===

      Further, we now can test pseudo-remote access using the :fork:
      protocol, which mimics all of the remote access code by
      forking a new copy of cvs.exe as a "local server".  In that
      case, the only test differences are:
        :fork: fails devcom3
        :fork: fails crerepos -- but that's expected

  (3) coredumping is bad.

  (4) Special 'targets' in the build script. After doing
      cvs-1.11.2-1.sh conf, and build, you can also do:

        cvs-1.11.5-1.sh check-local-pass
        cvs-1.11.5-1.sh check-local-fail
        cvs-1.11.5-1.sh check-remote-pass
        cvs-1.11.5-1.sh check-remote-fail

      check-local-pass runs all 119 local tests that I got successful
      results for.  Ditto check-remote-pass (117 passing tests).
      However, check-local-fail and check-remote-fail run only the
      few tests that failed in my testing.

  (5) There may be a resource leak somewhere -- while the check-local-pass
      tests run fine, I often got a "No space left on device" error
      while running the check-remote-pass tests (even though I had PLENTY
      of free disk space).  These spurious failures would persist -- until
      I rebooted the machine.  At that point, I could continue the tests
      from the point of failure, for another 30-40 tests.

      This did NOT happen in :local: mode; only :fork: mode.  It's
      possible the :fork: code isn't closing file descriptors or 
something...

      However, I do not expect that these sorts of errors will crop up in
      everyday usage.

--------------------------------------------
       BRIEF SUMMARY OF TEST FAILURES
--------------------------------------------


FAILED TESTS:

local: modules    (subtest modules-148a0)
        causes a coredump...

local: modules6   (subtest modules6-1)

local: binfiles3  (subtest binfiles3-11)
        expected.  'admin -o' is disabled on windows/cygwin

local: errmsg1    (subtest 168)


remote: modules (subtest modules-148a1)
         again, causes a coredump

remote: modules6 (subtest modules6-1)

remote: binfiles3 (subtest binfiles3-11)
         again, expected.  'admin -o' is disabled on windows/cygwin

remote: errmsg1 (subtest 168)

remote: devcom3 (subtest devcom3-9ar)

remote: crerepos
         ERROR: cannot test remote CVS, because `rsh KHELDAR' fails.
         when testing in remote mode, crerepos uses :ext: instead of
         :fork:.  However, even though I had rshd running -- it was
         running as SYSTEM -- which means password entry is required.
         This test expects passwordless rsh.

--------------------------------------------
              GORY TEST DETAILS
--------------------------------------------

LOCAL TESTS

   FAILED 4
     modules
     modules6
     binfiles3
     errmsg1

   PASSED 119
     version basica basicb basicc basic1
     deep basic2 files spacefiles commit-readonly
     commit-add-missing rdiff diff death death2
     rm-update-message rmadd rmadd2 dirs dirs2
     branches branches2 tagc tagf rcslib
     multibranch import importb importc update-p
     import-after-initial join join2 join3 join-readonly-conflict
     join-admin join-admin-2 new newb conflicts
     conflicts2 conflicts3 clean modules2 modules3
     modules4 modules5 mkmodules-temp-file-removal cvsadm emptydir
     abspath toplevel toplevel2 checkout_repository mflag
     editor errmsg2 adderrmsg devcom devcom2
     devcom3 watch4 watch5 unedit-without-baserev ignore
     ignore-on-branch binfiles binfiles2 mcopy binwrap
     binwrap2 binwrap3 mwrap info taginfo
     config serverpatch log log2 logopt
     ann ann-id crerepos rcs rcs2
     rcs3 lockfiles backuprecover history big
     modes modes2 modes3 stamps sticky
     keyword keyword2 keywordlog head tagdate
     multibranch2 tag8k admin reserved diffmerge1
     diffmerge2 release multiroot multiroot2 multiroot3
     multiroot4 rmroot reposmv pserver server
     server2 client fork commit-d

REMOTE TESTS: (uses :fork:, not :ext: or :pserver:)

   FAILED 5
     modules
     modules6
     binfiles3
     errmsg1
     devcom3
     crerepos

   PASSED 117
     version basica basicb basicc basic1
     deep basic2 files spacefiles commit-readonly
     commit-add-missing rdiff diff death death2
     rm-update-message rmadd rmadd2 dirs dirs2
     branches branches2 tagc tagf rcslib
     multibranch import importb importc update-p
     import-after-initial join join2 join3 join-readonly-conflict
     join-admin join-admin-2 new newb conflicts
     conflicts2 conflicts3 clean modules2 modules3
     modules4 modules5 mkmodules-temp-file-removal cvsadm emptydir
     abspath toplevel toplevel2 checkout_repository mflag
     editor errmsg2 adderrmsg devcom devcom2
     watch4 watch5 unedit-without-baserev ignore ignore-on-branch
     binfiles binfiles2 mcopy binwrap binwrap2
     binwrap3 mwrap info taginfo config
     serverpatch log log2 logopt ann
     ann-id rcs rcs2 rcs3 lockfiles
     backuprecover history big modes modes2
     modes3 stamps sticky keyword keyword2
     keywordlog head tagdate multibranch2 tag8k
     admin reserved diffmerge1 diffmerge2 release
     multiroot multiroot2 multiroot3 multiroot4 rmroot
     reposmv pserver server server2 client
     fork commit-d


--------------------------------------------
END:      cvs-1.11.5-1.CHECK-SUMMARY
--------------------------------------------


------- USERS' COMMENTS

works for me for everything I've tried. For whatever that's worth.

------------------------
cvs can't work with packages that contain files whose names are illegal
under MSWIN -- e.g. the eggdrop-1.5 package has a directory called
'AUX'. Reported by Travis Howell.

status: IGNORE. cvs isn't the right place to fix this. If it is to be
fixed, it should be done in the cygwin file access layer, not in cvs.
(Personally, I thing the maintainer of eggdrop and other poorly-behaved
packages should use names that are cross-platform compatible, but...)

addendum: Corinna sez 'Yep'.
   http://sources.redhat.com/ml/cygwin/2000-08/msg00448.html

------------------------




More information about the Cygwin-announce mailing list