Skip to main content
Documentation

Glossary

Definitions of key terms and concepts used throughout the Dits documentation.

B

Blob

The raw content of a file stored in the repository. In Dits, blobs are chunked and deduplicated.

Branch

An independent line of development. Branches allow you to work on features without affecting the main codebase.

C

Chunk

A portion of a file created by the chunking algorithm. Dits stores files as collections of chunks, enabling efficient storage and transfer.

Clone

Creating a complete copy of a repository, including all history and branches.

Commit

A snapshot of your repository at a point in time. Each commit has a unique identifier and records changes made since the last commit.

Content Addressing

Identifying content by its cryptographic hash rather than its location. This enables deduplication - identical content is stored only once.

Content-Defined Chunking (CDC)

A chunking algorithm that determines chunk boundaries based on file content rather than fixed sizes. This improves deduplication when files are modified.

D

Deduplication

The process of eliminating duplicate copies of data. In Dits, identical chunks are stored only once, saving storage space.

F

FastCDC

The default chunking algorithm in Dits. It's a fast, efficient content-defined chunking implementation optimized for large files.

Fetch

Downloading commits and objects from a remote repository without merging them into your local branches.

FUSE

Filesystem in Userspace. A technology that allows Dits to mount repositories as virtual filesystems without kernel modifications.

H

Hash

A fixed-size string computed from content using a cryptographic function (SHA-256). Used to uniquely identify chunks and commits.

HEAD

A reference to the currently checked-out commit. Usually points to the tip of the current branch.

Hook

A script that runs automatically at specific points in the Dits workflow, like before a commit or after a push.

Hydration

The process of downloading actual file content when accessing a file in a sparsely-cloned or mounted repository.

I

Index

Also called the staging area. A snapshot of files you've marked to include in the next commit.

L

Lock

A mechanism to prevent others from editing a file while you're working on it. Essential for binary files that can't be merged.

M

Merge

Combining changes from different branches into a single branch. Dits supports various merge strategies.

Mount

Making a repository's contents accessible as a virtual filesystem. Files appear as regular files but are fetched on-demand.

O

Origin

The default name for the main remote repository, typically where you cloned from.

P

P2P (Peer-to-Peer)

Direct synchronization between machines without requiring a central server. Dits uses libp2p for decentralized collaboration.

Proxy File

A low-resolution or placeholder version of a large file. Used for preview while keeping full-quality originals available.

Pull

Fetching changes from a remote repository and merging them into your current branch. Equivalent to fetch + merge.

Push

Uploading your local commits to a remote repository.

R

Rebase

Replaying commits from one branch onto another. Creates a linear history by avoiding merge commits.

Ref

Short for reference. A pointer to a commit, typically a branch name or tag.

Remote

A repository hosted elsewhere (server, cloud, or another machine) that you sync with.

Repository (Repo)

A directory containing your project files and the complete history of changes, stored in the .dits directory.

S

SHA-256

The cryptographic hash function used by Dits to generate content identifiers. Produces a 256-bit (64 character) hash.

Sparse Checkout

Cloning a repository without downloading all file contents. Only metadata is fetched; files are hydrated on-demand.

Stage

Marking changes to include in the next commit. Done with 'dits add'.

Stash

Temporarily storing uncommitted changes so you can work on something else, then restore them later.

Storage Tier

Different storage backends with varying performance and cost characteristics (hot, warm, cold, archive).

T

Tag

A named reference to a specific commit, typically used to mark release versions.

Tree

An object representing a directory. Trees contain references to blobs (files) and other trees (subdirectories).

V

VFS (Virtual Filesystem)

The feature that allows mounting Dits repositories as regular filesystems for seamless access.

W

Wire Protocol

The communication protocol used between Dits clients and servers for efficient data transfer.

Working Directory

The directory containing your actual project files. Changes here are tracked by Dits.

Related Resources