Re: cvs2svn: Excluding CVS folders

olli hauer <[email protected]> Fri, 19 Apr 2013 18:39:10 +0200
Newsgroups gmane.comp.version-control.subversion.cvs2svn.user
Message-ID <[email protected]>
On 2013-04-19 14:28, David Morris wrote:
>> Those folders are created by Intelli J.
> 
> These are CVS workspace folders, created by CVS.  They shouldn't have
> anything to do with Intelli J -- nobody here uses Intelli J.  As I
> said in my initial post, they exist across all projects in all repos
> I've looked at so far (Java, .NET, Delphi, C/C++, etc.), including
> some of my own.
> 
>> If I remember correct they contain a file fileattr.xml with some
>> meta informations (owner).
>>
>> Look inside the the xml file and you see the information is useless.
>>
>> Since you work (hopefully) on a copy of your repo remove them.
>>> gt; find $REPO -type d -name CVS | xargs rm -rf
> 
> Again, as I posted initially, I was already doing this copy/delete
> step.  But I have dozens of repos, many very large, and so was trying
> to avoid it.  I've done so by patching the cvs2svn code to provide the
> option of ignoring CVS dirs, and thought perhaps others might benefit
> from the patch.  However from what I'm hearing (which affirms what I
> originally believed) these CVS dirs shouldn't be checked in at all.
> The mystery for me is how it happened here on such a large scale.
> 
> Are you saying you've had CVS directories checked in to your repos too?
> 
> David

Yes, I had also such CVS folders and because I also want to know the reason now
and I've taken a short look into the my old cvs/cvsnt sources.

Since the files inside the CVS directory do not end with ,v it is also
possible to set "ctx.include_empty_directories = true" with the risk
needed empty folders are also removed.

From cvs sources:
=================
Changelog:
 1999-04-14  Jim Kingdon  <http://www.cyclic.com>
  * cvs.texinfo (CVS in repository): Include the format of the
  fileattr file here, rather than referring to the CVS source code.


http://svnweb.freebsd.org/base/head/contrib/cvs/doc/cvs.texinfo?revision=177392&view=markup

CVS directory, in repository

The @file{CVS} directory in each repository directory contains information
such as file attributes (in a file called {CVS/fileattr}.  In the future
additional files may be added to this directory, so implementations should
silently ignore additional files.


And here is the best explanation I could find
http://svnweb.freebsd.org/base/head/contrib/cvs/src/fileattr.h?revision=128267

<suspect mod on>
 In case someone add a watch flag to a file the directory will be created by
 cvs on the server.
</suspect mod off>


From old cvsnt sources (doc/cvs.dbk):
=========================================
The CVS directory in the repository

CVS directory, in repository fileattr.xml, in repository The CVS directory
in each repository directory contains information such as file attributes
(in a file called CVS/fileattr.xml. In the future additional files may be
added to this directory, so implementations should silently ignore
additional files.

The format of the fileattr.xml file is a series of XML entries describing
the edit state of each file, and any access permissions that are current.

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1670&dsMessageId=3053751

To unsubscribe from this discussion, e-mail: [[email protected]].