The (Petty) Reason We Didn't End Up Using jj
This title could be clearer and more informative.Try out Clickbait Shieldfor free (5 uses left this month).
Gradle's team evaluated Jujutsu (jj) as a Git replacement but hit a blocking issue: jj doesn't read .gitattributes, so it can't apply per-file line-ending rules like eol=crlf for gradlew.bat. This causes phantom modifications in colocated repos since Git checks out gradlew.bat as CRLF but jj snapshots it as LF. The only clean fix — committing CRLF bytes directly and marking .bat as non-normalized — sacrifices the self-healing normalization that .gitattributes provides, which the team wasn't comfortable with at ecosystem scale. They're sticking with git worktree for multiple working directories in the meantime, and plan to revisit jj once .gitattributes eol support lands.
Table of contents
Table of ContentsIntroductionThe actual blocker: gradlew.bat and .gitattributes #What we’re sticking with: git worktree #We’re not done with jj #Discuss187.6K Impressions3 Comments