Glossary · Automation software engineering and architecture
Merge conflict
Also known as: Conflict (version control)
German: Zusammenführungskonflikt
In version control, a merge conflict occurs when two branches changed the same part of a file, or one changed and the other deleted it, so the tool cannot combine them automatically and a person must decide the result.
- Software engineering
In one sentence
A merge conflict arises when two branches change the same part of a file and a person must decide how to combine them.
Example
Two engineers changed the same timer value in the sequence code on different branches, and the merge stops with a conflict that the project lead resolves.
How it applies
- Engineering: Conflicts are resolved by hand, then built and tested again, because a textually clean resolution can still be logically wrong. Short-lived branches and frequent integration keep conflicts small.
- Verification: After a non-trivial conflict resolution, a Regression test run is the minimum; for safety-related code the resolution should be reviewed like any other change.
- Documentation: Documentation sources in DITA or Markdown can conflict as well, especially shared files such as maps, key definitions or glossaries. Splitting content into small topics reduces conflicts; the documentation team should agree who owns shared files.
Merge conflict vs. race condition
A merge conflict is a problem of parallel editing of source files, detected by the version control tool. A Race condition is a run-time defect of parallel execution in the program itself.