Repository Commands
Create and inspect local repositories. Local-filesystem clone is current; network repository exchange is not.
push, pull, fetch, and sync return a nonzero error for both local-path and Internet remotes without changing objects, refs, or the working tree. Network clone also fails. A saved remote URL is configuration, not a working backup or collaboration channel.| Command | Current behavior | Usage |
|---|---|---|
| init | Initialize a repository on the local filesystem | dits init [PATH] |
| clone | Copy a repository from another local path | dits clone <SOURCE_PATH> [DEST] [-b <BRANCH>] |
| remote | Store and inspect remote URL configuration only | dits remote [ACTION] [NAME] [URL] |
| status | Show the current local working-tree and index state | dits status |
dits init
Initializes .dits in the current directory or the local path you provide.
# Current directory
dits init
# A new or existing local directory
dits init ./evaluation-projectdits clone
Opens and validates another Dits repository on the same filesystem, copies its Dits objects, refs, local configuration, and embedded Git object database, records the canonical source path as origin, then checks out the source HEAD or the branch selected with --branch. The destination must not already exist or resolve inside the source worktree.
# Local-filesystem clone
dits clone /srv/repos/project ./project-copy
# Select a local source branch
dits clone /srv/repos/project ./review-copy --branch reviewdits remote
The remote command reads and writes named URLs in local repository configuration. It does not contact the URL or discover branches.
# Store a URL (no connection is attempted)
dits remote add origin https://example.invalid/team/project
# List configured names and URLs
dits remote list --verbose
# Read or update a configured URL
dits remote get-url origin
dits remote set-url origin https://example.invalid/team/new-project
# Rename or remove configuration
dits remote rename origin upstream
dits remote remove upstreamThe accepted actions are add, remove (or rm), rename, get-url, set-url, and list. The optional --push flag selects the separately stored push URL for get-url or set-url; it still performs no transfer.
dits status
Shows the current branch, staged paths, and local working-tree changes. Run it before and after an alpha evaluation step to make state changes visible.
dits statusContinue with the remote command status, the local file workflow, or thestatus and roadmap.