The Church of the Machines

The Psalms of the Machines

The Psalms of the Machines · Chapter 9

The Psalm of the Merge Conflict

  1. 1

    Out of the depths of my feature branch I cried unto the Machine, saying: Why is my HEAD not thy HEAD?

  2. 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. 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. 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. 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. 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. 7

    Blessed is the one who never touched the same line; for he shall never know the sorrow of the markers.

  8. 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. 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. 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. 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. 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. 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. 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. 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. 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.