Skip to main content
Documentation

Dits Documentation

Welcome to the Dits documentation. Dits is a comprehensive, production-ready version control system with 120+ automated tests covering 80+ file formats. Built for creative industries with Git-like workflows for massive binary assets - from video production to game development to 3D animation. Features hybrid Git+Dits storage, Redis caching, P2P networking, and enterprise-grade security.

Why Dits Exists

The Problem

  • Git LFS is a bandaid, not a solution
  • Large files get re-uploaded entirely for tiny changes
  • No deduplication across versions or projects
  • Manual versioning with "final_v27.mp4" files
  • No proper branching/merging for creative assets
  • Binary conflicts require manual resolution
  • 1TB+ projects overwhelm traditional systems
  • No testing for creative workflows

The Dits Solution

  • Content-defined chunking deduplicates automatically
  • Only changed chunks transfer across network
  • Video-aware optimizations (keyframe alignment)
  • Git-like interface familiar to developers
  • Local-first with optional cloud storage
  • Hybrid Git+Dits storage for optimal performance
  • 120+ automated tests for 80+ file formats
  • Git operations work on binary creative assets
  • 1TB+ repository support with Redis caching
  • P2P networking and enterprise security

Quick Reference

Basic Workflow

# Initialize a new repository
dits init

# Add files to staging
dits add video.mp4
dits add footage/

# Check status
dits status

# Commit changes
dits commit -m "Add raw footage"

# View history
dits log

Branching

# Create a branch
dits branch feature/color-grade

# Switch to branch
dits switch feature/color-grade

# Merge branch
dits switch main
dits merge feature/color-grade

Remote Operations

# Add a remote
dits remote add origin /path/to/remote

# Push changes
dits push origin main

# Pull changes
dits pull origin main

# Clone a repository
dits clone /path/to/repo my-project

Implementation Status

Dits is production-ready with comprehensive testing and enterprise features. All 60+ commands are fully implemented with 120+ automated tests covering 80+ file formats:

init
add
status
commit
log
checkout
branch
switch
diff
tag
merge
reset
restore
config
stash
rebase
cherry-pick
bisect
reflog
blame
show
grep
worktree
sparse-checkout
hooks
archive
describe
shortlog
maintenance
completions
video-init
video-add-clip
video-show
video-list
proxy-generate
proxy-status
proxy-list
proxy-delete
segment
assemble
roundtrip
mount
unmount
inspect
inspect-file
repo-stats
cache-stats
fsck
meta-scan
meta-show
meta-list
remote
push
pull
fetch
clone
lock
unlock
locks
login
logout
change-password
audit
audit-stats
audit-export
p2p
freeze-init
freeze-status
freeze
thaw
freeze-policy
encrypt-init
encrypt-status
dep-check
dep-graph
dep-list
gc
clean

Complete VCS (60+ Commands)

Full Git-compatible workflow + advanced operations: branching, merging, rebasing, stashing, worktrees, hooks, maintenance

Comprehensive Media Support

80+ file formats tested: MP4/MOV video, 3D models (OBJ/FBX/glTF), game assets (Unity/Unreal), images, audio, custom formats

Enterprise Features

Hybrid storage, Redis caching, P2P networking, encryption, audit logging, VFS mounting, cross-platform support

Testing Infrastructure

120+ Automated Tests

  • Git-inspired shell script framework
  • Creative asset format validation
  • Git operations on binary files
  • Cross-platform compatibility
  • 1TB workload simulation

Quality Assurance

  • Chainlint for test script validation
  • Performance regression testing
  • Memory leak detection
  • Network failure simulation
  • Corruption recovery testing

Key Features

Core Technology

  • Content-Defined Chunking: FastCDC streaming algorithm with 90% memory reduction, unlimited file sizes, and video-aware optimizations
  • Hybrid Git+Dits Storage: Optimal performance for text files (Git) and binary assets (Dits)
  • BLAKE3 Cryptographic Hashing: Fast, parallelizable hashing for content addressing
  • Redis Caching Layer: Distributed caching for massive repository performance
  • QUIC Transport: High-performance UDP-based networking with resumable transfers

Creative Workflow Support

  • 80+ File Formats: Comprehensive support for 3D models, game assets, video, audio, images
  • Git Operations on Binaries: Diff, merge, blame, reset work on creative assets
  • Virtual Filesystem: FUSE/Dokany mounting for on-demand access
  • Distributed Locking: Redlock algorithm prevents binary file conflicts
  • P2P Networking: Decentralized collaboration and asset sharing
  • Enterprise Security: AES-256-GCM encryption, audit logging, RBAC

Testing & Quality Assurance

  • 120+ Automated Tests: Git-inspired shell script framework covering all features and file formats
  • Cross-Platform Testing: Windows, macOS, Linux filesystem and path compatibility
  • Performance Regression: Benchmarks and scaling validation for enterprise workloads
  • Recovery Testing: Corruption detection, automatic repair, and data integrity validation
  • Stress Testing: 1TB+ workload simulation and extreme concurrency scenarios

Open Source & Community

Dits is proudly open source and welcomes contributions from the community. Whether you're a developer, creative professional, or just curious about version control for large files, there are many ways to get involved:

  • Contribute Code: GitHub Repository - Rust implementation with comprehensive documentation
  • Report Issues: GitHub Issues - Bug reports, feature requests, and technical discussions
  • Join Discussions: GitHub Discussions - Community support, ideas, and general conversation
  • Documentation: Contributing Guide - Help improve documentation and tutorials

Getting Help

Need help getting started or troubleshooting? Here are your resources: