Subject: Re: Use of cvsignore
To: None <info-cvs@prep.ai.mit.edu>
From: Hauke Fath <hf@melog.de>
List: current-users
Date: 06/19/1997 10:06:18
At 19:58 18.06.97 METDST, Detlef Sommer wrote:
>
> [Question on how cvsignore works]

Hi,
as a follow-up - I have similar problems with the 'cvsignore' mechanism.
>From the CVS 1.9 Reference Manual (ch. B.8) I understand that there is a
kind of cascade at work:

1) built-in patterns
2) patterns from the per-repository 'CVSROOT/cvsignore' file
3) patterns from ${HOME}/.cvsignore
4) patterns from ${CVSIGNORE}
5) patterns listed after the cvs '-I' command line option
6) patterns from '.cvsignore' files found in the target directories

Each level's contents are appended to the list of files to be ignored; each
level can clear the list built up so far with a '!'.

The stumbling block here is that there is no way of overriding the patterns
from the '.cvsignore' files in the target directories. To pick a rather
prominent example: The CVS 1.9 distribution comes with documentation
readily built in PostScript and Info formats. When I check in the
distribution these files are ignored because of a local .cvsignore rule set
that I cannot override. The resulting repository contents do not build
cleanly as unless I have the texinfo stuff installed.

A prominent victim of this is the NetBSD distribution which sup-serves
'sup' and CVS (tagged 'othersrc'). As it ships without any *info tools the
CVS a) essentially comes without documentation and b) does not install
cleanly.

I suspected an evil intervention from some BSD warrior and have to
apologize. ;-)

Still, I'd like to be able to import a *complete* source distribution and
be sure that it is complete without having to familiarize with its nuts and
bolts (and .cvsignores) first. That is, IMO the CVS command line option 5)
should come *last* to be able to override all other settings.

Comments?

	hauke



>In my $CVSROOT/CVSROOT I created a file called cvsignore and
>checked it in. The file has the following contents:
>
>!
>*.bak
>
>This should reset the orignal list for ignored files ( ! ) and
>prevent all *.bak files from versioncontrol. But when I create a
>file with the *.old extension ( *.old is included in the original
>list of ignored files ) I can't check in this file because cvs
>ignores it.


-- 
Hauke Fath                              Melog Software GmbH
                                        D-69115 Heidelberg
hf@Melog.DE                             Ruf +49-6221-1333-0, Fax -33