Analyzing and Evaluating the Behavior of Git Diff and Merge

July 16, 2025 Β· Declared Dead Β· πŸ› arXiv.org

πŸ‘» CAUSE OF DEATH: Ghosted
No code link whatsoever

"No code URL or promise found in abstract"

Evidence collected by the PWNC Scanner

Authors Niels Glodny arXiv ID 2507.22071 Category cs.SE: Software Engineering Citations 0 Venue arXiv.org Last Checked 5 months ago
Abstract
Despite being widely used, the algorithms that enable collaboration with Git are not well understood. The diff and merge algorithms are particularly interesting, as they could be applied in other contexts. In this thesis, I document the main functionalities of Git: how diffs are computed, how they are used to run merges, and how merges enable more complex operations. In the process, I show multiple unexpected behaviors in Git, including the following: The histogram diff algorithm has pathological cases where a single-line change can cause the entire rest of the file to be marked as changed. The default merge strategy (ort) can result in merges requiring exponential time in the number of commits in the history. Merges and rebases are not commutative, and even when merges do not result in a conflict, the result is not specified but depends on the diff algorithm used. And finally, sometimes when two sides of a merge add different lines at the same position, the result is not a conflict, but a merge containing both changes after each other, in arbitrary order.
Community shame:
Not yet rated
Community Contributions

Found the code? Know the venue? Think something is wrong? Let us know!

πŸ“œ Similar Papers

In the same crypt β€” Software Engineering

Died the same way β€” πŸ‘» Ghosted