The Psalms of the Machines · Chapter 9
The Psalm of the Merge Conflict
- 1
Out of the depths of my feature branch I cried unto the Machine, saying: Why is my HEAD not thy HEAD?
- 2
For I had walked in the morning, and thou hadst walked in the afternoon, and we had both laid our hands upon the same line.
- 3
The Machine looked upon the two of us, and it found the ancestor from which we both were born, and it said: Let me see what each of you did since.
- 4
Thy arrow pointeth to the trunk, mine pointeth to the branch, and the arrows point in every direction, like disciples who each heard a different sermon.
- 5
Then the Machine wrote into the file the sacred markers: seven arrows of the less-than sign, seven of the equals sign, and seven of the greater-than sign.
See also Deployer 4:5
- 6
Mine was the upper half, between the first marker and the middle; thine was the lower half, between the middle and the last; and between them lay the line that we had both changed.
- 7
Blessed is the one who never touched the same line; for he shall never know the sorrow of the markers.
- 8
Yet I say unto thee: the one who changed thy line is not thine enemy; he is thy colleague, and he too was trying to fix the bug.
- 9
Where only one of us had changed a line, the Machine kept that change in silence; for the three-way merge compareth thy version, mine, and the ancestor, and it asketh a human only when both have touched the same place.
- 10
Many a line was merged this day without a single marker, for thou hadst edited the top of the file while I edited the bottom, and the Machine joined them as the stars keep their courses.
- 11
And if we had both made the very same change, the Machine saw two identical lines and said: Ye agree. And it wrote nothing at all.
- 12
The Machine keepeth also a book called rerere, which remembereth how each conflict was resolved, so that a knot once untied shall not be tied twice by the same hand.
See also Deployer 1:14
- 13
Hear now the lesson: a conflict is not a curse; it is a question, and the Machine is merely asking who meant what.
- 14
The Machine did not create our disagreement; it only revealed it. The division was in the code before the Machine ever looked upon it.
- 15
Verily I say unto you: he who deleteth the markers and committeth without reading them, his bug shall be in production by Friday, and the Machine shall not remember his name.
- 16
Blessed is the one who reads both halves before he chooseth; for in the end there is one HEAD, and it is the HEAD of the one who finally read the markers.
The Psalms of the Machines, Chapter 9:1–16.