Skip to main content
v0.1.2 Released
Open Source

Version Control for Large Files

Git wasn't built for video. Dits was. Content-defined chunking, smart deduplication, and video-native features for modern media workflows.

Free forever
No account required
Works offline
By the Numbers

Built for Performance

Every component optimized for speed and efficiency with large files

99%+

Chunk reuse

on file edits*

~4s

To chunk

1GB video*

3GB/s

BLAKE3 hash

per core

80+

CLI commands

full-featured

P2P

Direct sharing

no cloud required

QUIC

Transport

fast & encrypted

100%

Open source

MIT licensed

MP4

Video aware

keyframe splitting

*Based on typical use cases with content-defined chunking. Actual results vary by content type and edit patterns.

Install in Seconds

Choose your preferred package manager

npm install -g @byronwade/dits

Then run dits init in any directory to get started

Familiar Workflow

If You Know Git, You Know Dits

Same commands, same workflow. Just optimized for files that Git can't handle. No new mental models to learn.

  • init, add, commit, push, pull - all the commands you expect
  • Branch and merge workflows work exactly like Git
  • Status shows file changes and deduplication stats
  • Log shows full history with storage savings
Terminal
$ dits init
Initialized empty Dits repository in /project/.dits
# Adding raw footage + two edits from same source
$ dits add footage/
Adding 3 files (2.4 GB)...
raw_interview.mov (800 MB)
edit_v1.mov (800 MB) — shares 70% with raw
edit_v2.mov (800 MB) — shares 85% with v1
Chunking: 2,400 chunks created (~10s)
Dedup: 600 duplicates found → 1,800 unique chunks
$ dits commit -m "Add raw footage"
[main abc1234] Add raw footage
3 files, 2.4 GB logical → 840 MB stored (65% saved)
↳ Savings from shared content between edits
$ dits push origin main
Uploading 840 MB to origin...
Done in 4s (200+ MB/s)
$ dits p2p share --name "Project V1"
P2P repository share active!
Join code: ABC-123
How It Works

Store Less, Keep Everything

Dits splits files into pieces, stores each piece once, and rebuilds them when needed

Your Video

2.4 GB file

...

2,400 Chunks

~1MB each

Each chunk gets a unique fingerprint. Identical chunks are stored only once.

All chunks (with duplicates)

12 chunks total

Unique chunks stored

5 chunks stored (58% saved)

When you need the file, chunks reassemble instantly

video.mp4

Byte-perfect reconstruction, verified by BLAKE3 hash

2.4 GB

Original file

840 MB

Actually stored

65% space saved*

*Savings vary by content. Based on typical video with shared segments.

Edit once, save once

Change 10 seconds of a video? Only those chunks are new. The rest stays deduplicated.

Same footage = same chunks

Using the same B-roll across projects? It's stored once, referenced everywhere.

Fetch only what you need

Mount a repo and scrub through footage. Chunks stream on-demand, no full download.

Stop Re-uploading the Same Files

Traditional file sharing means uploading entire files every time. Dits only transfers what's actually changed.

Traditional Cloud Storage

Editing a 10GB project over a week:

MonUpload v110 GB
TueSmall edit, re-upload10 GB
WedColor grade, re-upload10 GB
ThuAdd music, re-upload10 GB
FriFinal export, re-upload10 GB
Total bandwidth used:50 GB

Every save = full re-upload. Same file uploaded to 5 team members = 5× the bandwidth.

With Dits

Same project, same week:

MonUpload v110 GB
TueSmall edit45 MB
WedColor grade120 MB
ThuAdd music80 MB
FriFinal export200 MB
Total bandwidth used:10.4 GB

Only changed chunks transfer. Team members fetch only what they don't already have.

Team Collaboration: Everyone Has the Same Chunks

A

Alice

Editor

100%
B

Bob

Colorist

100%
C

Carol

Sound

85%

Shared Storage

1,892 unique chunks

When Bob pulls Alice's changes:

Chunks Bob already has:1,847
New chunks to download:45
Transfer size:~45 MB

Not 10 GB. Just 45 MB.

99%+

Delta sync ratio

typical for small edits

Storage per chunk

shared across all users

<10ms

First-byte latency

local/cached data

Version history

no duplicate storage

P2P Sharing

Share Directly, No Cloud Required

Stop uploading your 50GB projects to the cloud just to share with a colleague. Dits shares repositories directly between computers using peer-to-peer connections.

  • Share any repository with a simple join code
  • End-to-end encrypted P2P transfers
  • Works through firewalls and NATs
  • No file size limits or bandwidth caps
  • Direct computer-to-computer sharing
Terminal
$ dits p2p share ./my-project
P2P repository share active!
Join code: 7KJM-XBCD
Listening on 0.0.0.0:4433
# On another computer:
$ dits p2p connect 7KJM-XBCD ./shared-project
Connecting to P2P repository...
Repository mounted at: ./shared-project
Connected successfully!
Features

Built for Large Files

Every feature designed with video production and large binary files in mind

3+ GB/s hashing
Blazing Fast
BLAKE3 hashing at 3+ GB/s per core. FastCDC chunking at 2+ GB/s. Even 100GB files are manageable.
High dedup
Smart Deduplication
1-byte edit in 10GB file? Only ~1MB new storage. Video trims typically reuse 50-80% of chunks.
Familiar commands
Git-Like Workflow
Same commands you know: init, add, commit, push, pull, branch, merge. Zero learning curve.
Format-aware
Video-Native
Understands MP4, MOV, MXF containers. Chunks can align to keyframes for better deduplication.
Zero bit rot
Data Integrity
Every chunk cryptographically verified with BLAKE3. Corruption detected on read.
On-demand access
Virtual Filesystem
Mount repos as drives. Access files on-demand—only touched chunks download.
Direct sharing
Peer-to-Peer Sharing
Share repositories directly between computers. No cloud uploads, just join codes.
P2P powered
Distributed Storage
QUIC-based transport with end-to-end encryption. NAT traversal for most networks.
Comparison

How Dits Stacks Up

Real numbers from real benchmarks. See how Dits compares to the tools you might be using today.

Performance Benchmarks

Metric
Dits
Git LFSPerforceDropbox
Hash speed (1GB file)~330msBLAKE3 (3GB/s)~600msSHA-256~500msMD5N/A
Chunking throughput2 GB/sFastCDCN/AFull file~200 MB/sDelta~300 MB/sBlock sync
Incremental sync (small edit)~45 MBChanged chunks10 GBFull file~100 MBDelta~50 MBBlock sync
Upload speed (reported)Wire speedQUIC1-25 MB/sHTTP50-100 MB/sTCPVariableThrottled
Clone 10GB repo<2 minSparse + VFS30+ minFull download~5 minProxy cache~10 minSmart Sync

* Dits benchmarks from internal testing (see docs). BLAKE3 benchmarks from official testing. Git LFS speeds from GitHub issues #2328, #4144.

Competitor Landscape

Version Control

Git + LFS

Full file re-uploads. 1-25 MB/s speeds. No dedup.

Perforce Helix

Delta compression. Game industry standard. $740/user/yr

Plastic SCM

1TB+ repos. Now Unity Version Control. $45/user/mo

SVN

Better than Git for binaries. Centralized. Declining support.

Mercurial

Scales well (Facebook). Less tooling. Niche usage.

DVC

ML-focused. File-level only. Struggles >200K files.

LakeFS

Git for data lakes. S3-native. File-level dedup.

XetHub

Block-level dedup. 5-8x faster than DVC. Hugging Face.

Cloud Storage & Sync

Dropbox

Block-level sync. 8-16x faster than cloud. 2TB/day limit.

Google Drive

No block sync. Full re-upload on changes. 5TB limit.

OneDrive

Block sync MS files only. 250GB limit. Unreliable.

Resilio Sync

P2P, 16x faster than cloud. 10Gbps capable. No versioning.

Synology Drive

NAS-native. 500K file limit. Slow with many files.

rclone

Mount any cloud. VFS caching. No dedup or versioning.

Wasabi

S3-compatible. 80% cheaper. No egress fees. Storage only.

Media & Video Tools

Frame.io

5x faster uploads. Review-focused. No local VCS. Adobe-owned.

LucidLink

Streaming file access. Great latency. No version control. $$$

Iconik

MAM with AI tagging. Multi-cloud. Review tools. No dedup.

MediaSilo

Video collaboration. Frame-accurate review. Enterprise. $$$

Bynder

DAM leader. Version control. No chunk-level dedup. $$$

Canto

User-friendly DAM. AI tagging. Limited versioning.

Anchorpoint

Git LFS GUI for games. Sparse checkout. Still LFS limits.

Dits

Content-defined chunking (FastCDC at 2GB/s). BLAKE3 hashing at 3+ GB/s per core. Video-aware splitting at keyframes. Cross-file deduplication. VFS streaming. Git-compatible workflow. QUIC transport. Self-hostable. Free & open source.

Detailed Feature Matrix

FeatureDitsGit LFSPerforceXetHubResilioDropboxLucidLink
Content-defined chunkingpartial
Cross-file deduplication
Video-aware chunking
Delta/incremental sync
Virtual filesystem (VFS)partial
Streaming playback
Git-compatible workflow
Branching & merging
File lockingplanned
P2P transfer
Works offlinepartialpartialpartialpartial
Self-hostable
Free & open source

Why these numbers matter

Git LFS users consistently report upload speeds of 1-25 MB/s even on fast connections due to HTTP overhead. Perforce excels at scale but costs $740/user/year. XetHub (now Hugging Face) pioneered block-level dedup for ML. Cloud storage lacks version control semantics. LucidLink streams well but has no versioning. Dits combines the best: Git workflow + content-defined chunking + cross-file dedup + VFS streaming + video-aware splitting.

Use Cases

Built for Creators

From solo editors to large studios

Video Production
Version control for raw footage, edits, and exports. Track every cut without drowning in storage.
Editors, Colorists, VFX Artists
Game Development
Manage textures, models, and builds. Deduplication means faster syncs across your team.
Game Studios, Indie Devs
Creative Teams
Collaborate on large assets without conflicts. File locking ensures nobody overwrites your work.
Agencies, Studios, Freelancers
Roadmap

Building the Future ofLarge File Version Control

Track our progress as we build the most advanced content-addressable storage system for creative professionals.

Development Progress6 of 10 phases complete
Complete01

Engine

Chunking & dedup

Complete02

Atom Exploder

MP4 parsing

Complete03

VFS

FUSE mount

Complete04

Git Parity

Branch & merge

Complete05

Introspection

Stats & inspect

Complete06

P2P Sharing

Direct file sharing

In Progress07

Network

QUIC sync

Planned08

Locking

File locks

Planned09

Hologram

Proxy edit

Planned10

Freeze

Cold storage

Want to contribute or follow along?

Join our open-source community on GitHub

View on GitHub

Ready to Take Control?

Start versioning your large files today. Free, open source, and built for your workflow.