Jenkins tends to randomly replace config.xml configuration tags.
This behaviour can be found in any type onf configuration file: system, job, plug-in and so on.
If this files are managed by a source control system (SCM), it can cause problems because it can cause collisions with valid changes made by real people. The differences need to be resolved one way or the other.
Some examples of replacements are listed below:
- Single quotes are converted into double ones,
- Empty tags are added. For instance,
<categories/>may be removed completely or be replaced with
- CloudBees Jenkins Enterprise.
Some plugins that has been reported with this behaviour are: Throttle Concurrent Builds Plugin, JobConfigHistory Plugin and SCM Sync configuration Plugin.
- CloudBees Jenkins Operations Center.
This issue is an expected behavior. Jenkins API allows to serialize items to XML at any moment, and some plugins use this capability to save additional data or to reformat existing ones.
It is not recommended to use a SCM to store the Jenkins configuration.