When synchronizing resources, it is possible that there are some resources that you do not want to release to the stream. There are two ignore facilities provided, allowing the user to specify which resources should be excluded from catch up and release operations.
The first is a global ignore facility, provided by the workbench. The second is the CVS ignore facility, which reads the contents of a special file .cvsignore to determine what to ignore.
There are many files that a user may not want to release to the repository.
For example, external editors may create temporary files in your project. Compilation of .java files creates .class files, and
likewise many build operations result in binary files. These files, when taken together, may
be quite large. In addition, they may be re-generated whenever a build is performed,
resulting in many outgoing changes. Typically these are not files that one wants to share with other members of a team or persist in the repository.
A global ignore facility is provided by the workbench via the
Team preference page.
There is a list of file patterns against which resources will be matched before they are
considered as version control candidates.
These patterns may contain the wildcard characters "*" and "?". "*"
represents any sequence of zero or more characters. "?" represents any one
character. For example, you can specify a pattern of "*~", which would match
any temporary files that end with "~". Any file or directory that matches any one of the
patterns will be ignored during catch up or release operations. When
you specify a file pattern to ignore, you can temporarily disable ignoring the
file pattern by de-selecting it from the list; you do not have to remove the
specified file pattern from the list.
The patterns in the global ignore facility are matched against resource names during a
synchronize operation. It is important to note that the path leading up to the resource name is not
included in the matching. For example, for the file "/path/to/file.txt", only the string
"file.txt" is matched against the patterns. This facility is not intended for specifying fully-qualified
path names but for specifying globally-applicable patterns.
The Eclipse CVS client recognizes a file named ".cvsignore" in each directory
of a project. This is a standard CVS facility and many existing CVS projects may contain this file.
This text file consists of a list of files, directories, or patterns. In a similar way
to the global ignore facility, the wildcards "*" and "?" may be present in any entry in the
.cvsignore
file. Any file or subdirectory in the current directory that matches any one of the patterns
will be ignored. It is important to note that the semantics of this file
differs from that of the global ignore facility in that it applies only to files and
directories in the same directory as the .cvsignore file itself. A project may contain
one .cvsignore file in each directory. For more information, please visit
http:\\www.cvshome.org.
Once a resource is under version control, it cannot easily be subsequently be ignored. A resource comes under version control in the first place when a synchronize operation is performed on a resource or any of its parent folders. You should consider, prior to performing your first synchronize operation, which files and directories you wish to ignore, and add them to the appropriate ignore facility. For example, consider the following scenario:
If you have selected the Team > Synchronize with Stream operation, but not
yet released, you can still ignore them. This despite the fact that the
workbench already considers these files as being under version control.
You first have to delete the files that you want ignored (this is usually is not a problem since ignored files are either temporary or
build results of your important files, the source). Then add the ignore pattern using either the global or
CVS ignore mechanism. At this point you can rebuild your project so that the ignored files return and then
synchronize your project with the stream. The files will now be ignored.