How Lix compares to Git

Git is optimized for source-code repositories. Lix is a version control system for every file format.

Use Git when developers are versioning source code. Use Lix when products, tools, agents, or teams need review, merge, rollback, and SQL-queryable history for file formats beyond source code: Markdown, DOCX, XLSX, CSV, JSON, PDFs, CAD files, datasets, generated reports, and custom artifacts.

The difference is the unit of change: Git is strongest when a line-oriented text diff explains the work. Lix is strongest when the thing you need to review is a cell, clause, property, row, record, prompt output, or parser-defined entity.

GitLix
Primary fitSource-code repositories and developer workflowsFile-format version control for documents, structured files, generated artifacts, and app records
Integration modelExternal VCS, usually operated around a repoRuntime/library layer for products, tools, agents, services, and CLIs
Artifact modelFiles and snapshotsFormat-aware entities across files and data
Diff modelText-oriented by default; custom drivers possibleSemantic per-entity changes via format support
Merge modelLine merge for text; binary fallback for many formatsEntity-aware merge for supported formats
History surfaceCommit history and Git toolingSQL-queryable change graph
Driven byDevelopers, CI, and source-code toolsAgents, services, automation, products, and users

Both can coexist: keep source code in Git, and use Lix for files and workflows where review, merge, and rollback need to happen at the level of cells, clauses, properties, records, or generated changes.

Source-code history vs semantic file history

Git stores snapshots and commonly presents changes as text diffs. That works extremely well for source code, where line-oriented review is natural. For many file formats beyond source code, such as spreadsheets, rich documents, CSV datasets, CAD files, PDFs, and agent-generated outputs, a line or binary diff often loses the domain meaning users care about.

Lix stores changes as data. File plugins can map formats into domain entities such as XLSX cells, DOCX clauses, CSV rows, JSON properties, PDF sections, CAD parts, or agent outputs. Format experts can add semantic versioning for the file types their products need.

Product-, tool-, and agent-level questions become direct queries:

  • Which cells / clauses / parts changed?
  • Which prompt, tool call, user action, or service made this edit?
  • What would happen if we merged this version?

Lix exposes history as queryable change data rather than only as repository history. That lets an agent ask which entities changed, who or what changed them, whether two branches touch the same entity, and what needs review before merge. See Change History.

What this looks like

Git can be extended with custom diff drivers and textconv filters. The difference is that those semantic views usually sit beside Git, while Lix is designed to store and query structured changes as part of the version-control model.

Excel

Before:

order_idproductstatus
1001Widget Ashipped
1002Widget Bpending

After:

order_idproductstatus
1001Widget Ashipped
1002Widget Bshipped

Git default diff sees:

Binary files differ

With an XLSX plugin, Lix can expose:

order_id 1002 status:
- pending
+ shipped

JSON

Formatted JSON works reasonably well in Git. Semantic diffing helps when formatting, ordering, minification, or generated output obscures the actual field-level change.

Before:

{ "theme": "light", "notifications": true, "language": "en" }

After:

{ "theme": "dark", "notifications": true, "language": "en" }

Git default diff on minified JSON sees:

-{ "theme": "light", "notifications": true, "language": "en" }
+{ "theme": "dark", "notifications": true, "language": "en" }

Lix sees:

property theme:
- light
+ dark

If your product or agent workflow needs version history, review, rollback, or merge for file formats beyond source code, Lix gives it semantic primitives instead of opaque file diffs. Start with Change History.