aislop.day
MONDAY, 12 FEBRUARY 2024

Terms Governing Branch Cleanup Avoidance

Merged branches kept as precaution against unspecified future need have been reclassified as permanent repository residents.

3 MIN READdeveloper life

TERMS AND CONDITIONS FOR BRANCH CUSTODY Effective date: From the moment any developer first hesitated before clicking "Delete Branch" Applicable parties: All engineers who have ever said "let's keep it just in case"


Article I: Definitions

"Merged branch" refers to any branch whose pull request has been merged into the main codebase and which continues to exist in the repository for reasons that are not actively maintained in any documentation system.

"Just in case" is a duration of time with no specified end. It begins when the branch is preserved and concludes when the branch is deleted, which may not occur.

Article II: Conditions of Preservation

A branch may be preserved after merge under the following condition: deletion feels more alarming than preservation. No technical justification is required. A feeling of alarm is sufficient.

Once preserved, the branch acquires standing. It appears in the branch list. It is visible to other developers. Its presence communicates nothing deliberate, but its absence would communicate something, and that communication has not been decided yet.

Article III: Governing Rule

Branch cleanup avoidance becomes standard procedure after surviving two sprint cycles without being raised in a retro. It is considered stable once removing the branch would require initiating a conversation about whether the branch should be removed.

This conversation has not been initiated. The conversation would be shorter than thirty seconds. The thirty seconds have not been allocated.

Article IV: Consequences

The repository currently contains branches that were merged between three months and two years ago. Each was preserved for a distinct reason. The reasons were not written down because writing down "I'm nervous about deleting this" requires acknowledging the nervousness.

Future developers inheriting the repository will interpret the branches as intentional. They are not intentional. They are accumulated hesitations.

Article V: No Warranty

The preserved branches provide no warranty of utility. Their continued presence does not indicate relevance, intention, or value. It indicates that deletion was considered and not completed.

These terms shall remain in effect until someone schedules the cleanup. The cleanup has not been scheduled.

TAGSdeveloper life
Share this