The vcs
node is the toplevel node which contains the
description of the general behavior expected from the VCS. It has the
following attributes:
name
name
indicates the identifier of the VCS. The
casing of this name is important, and the same casing must be used in
the project files.
absolute_names
absolute_names
indicates the behavior of the
VCS relative to file names, and can take the values TRUE
or
FALSE
. If it is set to TRUE
, it means that all
commands in the VCS will work on absolute file names. If it set to
FALSE
, it means that all actions work on base file names, and
that GPS will move to the appropriate directory before executing an
action.
group_queries_by_directory
group_queries_by_directory
indicates that, when querying
status for all the source files in a directory, a query for the directory
should be launched, instead of launching a query for multiple files.
This operation is faster on some Version Control systems. By default, this
is set to FALSE
.
ignore_file
ignore_file
specifies the name of the file used
by the VCS Explorer to get the list of files to ignore. By default for
the CVS mode this is set to .cvsignore.
atomic_commands
atomic_commands
specifies if the VCS supports
atomicity and can take the values TRUE
or FALSE
. If it
is set to TRUE
it means that the VCS supports atomic
commands. It is FALSE
by default. This attribute is important
to trigger the activities group commit feature. See See The VCS Activities.
path_style
path_style
specifies which kind of directory separator
is supported by the VCS and can take the values UNIX
,
DOS
, Cygwin
or System_Default
. The later value is
the default value. With this attribute it is possible to control the
directory separator to use when specifying files to the VCS. For the
Cygwin
case the drive is specified as /cygdrive/<drive>
.
dir_sep
path_style
, obsolescent.
commit_directory
commit_directory
specifies if the VCS supports
commit on directories and can take the values TRUE
or FALSE
.
If it is set to TRUE
it means that the VCS supports commit on
directories this is the case for Subversion
for example.
administrative_directory
administrative_directory
specifies the name of
the directory where the external VCS stores the local repository
information. For example for Subversion this is .svn. This
information is used when the project is setup to select automatically
the external VCS. See Version Control System.
prev_revision
head_revision
require_log
require_log
specifies if the VCS require a log
for the commit/add/delete actions. It can take the values TRUE
or FALSE
. If it is set to TRUE
GPS will ensure that
a log is created for each file. If it is set to FALSE
GPS will
not ask for log, it is expected to be handled by the external VCS.
Note that to support group commit with shared log on GPS both
absolute_name
and atomic_commands
must be true. This is
the case for the Subversion VCS for example.
Here is an example, adapted to the use of CVS:
<vcs name="Custom CVS" absolute_names="FALSE"> (... description of action associations ...) (... description of supported status ...) (... description of output parsers ...) </vcs>