DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(cvs.info.gz) cvsignore

Info Catalog (cvs.info.gz) rcsinfo (cvs.info.gz) Administrative files (cvs.info.gz) checkoutlist
 
 C.5 Ignoring files via cvsignore
 ================================
 
 There are certain file names that frequently occur inside your working
 copy, but that you don't want to put under CVS control.  Examples are
 all the object files that you get while you compile your sources.
 Normally, when you run `cvs update', it prints a line for each file it
 encounters that it doesn't know about ( update output).
 
    CVS has a list of files (or sh(1) file name patterns) that it should
 ignore while running `update', `import' and `release'.  This list is
 constructed in the following way.
 
    * The list is initialized to include certain file name patterns:
      names associated with CVS administration, or with other common
      source control systems; common names for patch files, object files,
      archive files, and editor backup files; and other names that are
      usually artifacts of assorted utilities.  Currently, the default
      list of ignored file name patterns is:
 
               RCS     SCCS    CVS     CVS.adm
               RCSLOG  cvslog.*
               tags    TAGS
               .make.state     .nse_depinfo
               *~      #*      .#*     ,*      _$*     *$
               *.old   *.bak   *.BAK   *.orig  *.rej   .del-*
               *.a     *.olb   *.o     *.obj   *.so    *.exe
               *.Z     *.elc   *.ln
               core
 
    * The per-repository list in `$CVSROOT/CVSROOT/cvsignore' is
      appended to the list, if that file exists.
 
    * The per-user list in `.cvsignore' in your home directory is
      appended to the list, if it exists.
 
    * Any entries in the environment variable `$CVSIGNORE' is appended
      to the list.
 
    * Any `-I' options given to CVS is appended.
 
    * As CVS traverses through your directories, the contents of any
      `.cvsignore' will be appended to the list.  The patterns found in
      `.cvsignore' are only valid for the directory that contains them,
      not for any sub-directories.
 
    In any of the 5 places listed above, a single exclamation mark (`!')
 clears the ignore list.  This can be used if you want to store any file
 which normally is ignored by CVS.
 
    Specifying `-I !' to `cvs import' will import everything, which is
 generally what you want to do if you are importing files from a
 pristine distribution or any other source which is known to not contain
 any extraneous files.  However, looking at the rules above you will see
 there is a fly in the ointment; if the distribution contains any
 `.cvsignore' files, then the patterns from those files will be
 processed even if `-I !' is specified.  The only workaround is to
 remove the `.cvsignore' files in order to do the import.  Because this
 is awkward, in the future `-I !' might be modified to override
 `.cvsignore' files in each directory.
 
    Note that the syntax of the ignore files consists of a series of
 lines, each of which contains a space separated list of filenames.
 This offers no clean way to specify filenames which contain spaces, but
 you can use a workaround like `foo?bar' to match a file named `foo bar'
 (it also matches `fooxbar' and the like).  Also note that there is
 currently no way to specify comments.
 
Info Catalog (cvs.info.gz) rcsinfo (cvs.info.gz) Administrative files (cvs.info.gz) checkoutlist
automatically generated byinfo2html