>Submitter-Id:   net
>Originator:     Warwick Harvey
>Organization:
net
>Confidential:  no
>Synopsis:      cvs export to existing tree doesn't recurse
>Severity:      non-critical
>Priority:      low
>Category:      cvs
>Class:         sw-bug
>Release:       cvs-1.10  (also 1.10.2)
>Environment:
        Pentium 166 running RedHat Linux
        Libraries:
                libcrypt-2.0.7.so
                libc-2.0.7.so
                ld-2.0.7.so
        Also a SPARC Solaris machine (sparc_sunos5)
System: Linux pinner.icparc.ic.ac.uk 2.0.36 #6 Thu Jan 7 11:54:56 GMT 1999 i586 unknown
Architecture: i586

>Description:
        If you export a CVS module (with subdirectories) into a directory
        somewhere, and then repeat the export, only the root of the tree is
        updated; the subdirectories are ignored (other than being listed in
        the output with a `?' next to them).  It's as if `-l' has been
        specified, and `-R' doesn't fix the problem.

        The same thing happens if you try to export into an existing (empty)
        directory tree.  (This may be more of a problem if you want to
        export multiple modules which share directories?  I haven't
        investigated that one though.)

        Note that if a CVS subdirectory (with appropriate contents) exists
        in a particular subdirectory, it may export files to that
        subdirectory (depending on the contents of the Entries file), but
        the CVS subdirectory is /deleted/ afterwards.  (Actually, this seems
        more serious: if a user accidentally exports to a working
        repository, they hose all their CVS administration files --- but
        probably they'd have more serious problems in this case anyway.)

>How-To-Repeat:
        One sequence of commands used to exhibit the bug:

                cvs export -D "2000-05-25 13:02" Eclipse
                cvs export -D "2000-05-25 13:02" Eclipse

        (That is, simply repeating an export of a module which has
        subdirectories.)
>Fix:
        Unknown.  It /appears/ as though CVS is looking for, creating and
        using CVS subdirectories during the export, presumably treating
        it as an `update -d', and then deleting the CVS subdirectories
        afterwards.  Apparently this approach requires a little more care if
        the export is to an existing directory tree.

Reply via email to