If the VCS type is not supplied explicitly (by the
configuration setting or the --vcs-type option), the program
attempts to determine it by looking at the name by which it is
invoked. It is able to correctly determine the VCS type, if
it is being run from the hooks subdirectory of a git or SVN
repository. Otherwise, it will assume the default VCS type.
Once the VCS type is established,
vcsync will scan
the configuration file for named configurations (see Named configurations). In each named configuration, it will look for the
vcs-type statement. If that statement is present and its value
matches the determined VCS type, the settings from this
configuration block will be used.
If no matching named configuration is found, the default one will be used.
Thus, a single configuration file can be used for all three supported version control systems.