Skip to content
Testaroo

Version control

Anything that reviews, applies, or renders a change needs a diff it did not produce itself. This category carries unified diffs and git-format patches across the cases that break naive parsers: renames, binary hunks, file modes, added and deleted files, CRLF-versus-LF changes, no-newline-at-end-of-file markers, and multi-file series. Conflict fixtures ship the three-way marker layout so merge tooling can be tested without staging a real merge. Alongside them sit the configuration files every repository carries (.gitignore, .gitattributes, .gitconfig, .gitmodules) plus commit-message and changelog samples for conventional-commit linters. Every path, author, and hash is fictional and deterministic, so a patch applies the same way on every machine.

Filter version control on Browse · 88 files · 5 subcategories

Results start with a representative from each related test family. Use a card’s variant menu or the filters below to reach a specific format, profile, or failure case; every sample retains its own detail page and download.

Frequently asked questions

What diff edge cases do the patches cover?

Renames, file-mode changes, binary hunks, added and deleted files, CRLF↔LF changes, no-newline-at-end-of-file markers, and multi-file patch series.

Can I actually apply these patches?

The patch fixtures are self-consistent unified diffs with documented target paths, so they apply cleanly against the stated before-state. Conflict fixtures ship the three-way marker layout instead, for merge tooling.

Do you ship real repository history?

No. Every author, path, hash, and timestamp is fictional and deterministic, nothing here is extracted from a real repository.

Start with one example from each use-case group, then continue through its other test families. Choose a use case, search, or filter to find a specific profile; a card’s variant menu contains its related samples.

Filter these files
More filters and sorting
More file filters

Results

58 test families · 88 available files · Page 1 of 4

Preview of Context Diff - Classic *** / --- Format

Diffs

Context Diff - Classic *** / --- Format

The same change as the unified twin, emitted in the pre-unified context format: `*** before` and `--- after` blocks separated by a row of asterisks, with `!`, `+` and `-` change markers. Parsers that assume every diff st

File
DIFF · Diffs · UTF-8
Preview of Changelog - Generated From Conventional Commits

History

Changelog - Generated From Conventional Commits

The machine-generated twin of the hand-written changelog: version headings that are themselves compare links, a leading warning glyph on the breaking-changes section, and every entry ending in a short-hash link back to t

File
MD · History · UTF-8
Preview of Combined Diff - diff --cc With Two Parents

Merges

Combined Diff - diff --cc With Two Parents

What `git show` prints for a merge commit: a `diff --cc` header, an index line naming three blobs, `@@@` hunk markers, and two prefix columns instead of one. The `++` line is the giveaway a reviewer is looking for: conte

File
DIFF · Merges · UTF-8
Preview of Git Format-Patch Series - 0000 Cover Letter

Patches

Git Format-Patch Series - 0000 Cover Letter

The `--cover-letter` message git writes ahead of a series: a `[PATCH 0/3]` subject, a shortlog of the authors and their subjects, and the combined diffstat, but no diff of its own. Series tooling has to recognise it as m

File
PATCH · Patches · UTF-8
Preview of Commit Message - Breaking Change With ! and a Footer

History

Commit Message - Breaking Change With ! and a Footer

A breaking change announced twice, which the specification allows: a `!` after the scope and a `BREAKING CHANGE:` footer whose value continues onto a second line. Generators that stop a footer at the first newline lose h

File
TXT · History · UTF-8
Preview of Merge Conflict - diff3 Marker Style With Base Section

Merges

Merge Conflict - diff3 Marker Style With Base Section

The same conflict with `merge.conflictStyle=diff3`, which inserts the merge base between the two sides behind a row of pipes. Tools that split a conflict on `=======` alone silently fold the ancestor text into the ours s

File
TXT · Merges · UTF-8
Preview of Git Patch - Abbreviated index Hashes

Patches

Git Patch - Abbreviated index Hashes

The `index` line abbreviates both blob ids to seven characters, which is what plain format-patch emits and what most patches in the wild carry. Three-way application can still fall back to path matching, but the blobs ca

File
PATCH · Patches · UTF-8
Preview of Unified Diff - CRLF Line Endings Throughout

Diffs

Unified Diff - CRLF Line Endings Throughout

Byte-for-byte the same diff as its LF twin except that every line ends CR LF, which is what a diff produced or saved on Windows looks like. Readers that compare a hunk line against expected content without stripping the

File
DIFF · Diffs · UTF-8

The use-case group filter replaces the long list of category sections.