MCPcopy Index your code
hub / github.com/ClusterHQ/dvol

github.com/ClusterHQ/dvol @v0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1 ↗ · + Follow
209 symbols 569 edges 9 files 89 documented · 43%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Version control for your development databases in Docker

dvol lets you commit, reset and branch the containerized databases running on your laptop so you can easily save a particular state and come back to it later.

Installation

Step 1

Install Docker 1.8.0 or later.

Step 2

$ curl -sSL https://get.dvol.io |sh

This will pull the dvol docker image, run the dvol docker volume plugin, and set up a tiny wrapper script in /usr/local/bin/dvol.

Data model

  • Volume: a named repository for data files (e.g. database data files) which can be mounted into a docker container.
  • Branch: a linear set of commits (one branch of the tree) and a live running point which the database can write to.
  • Commit: a point-in-time snapshot of the running point of the current branch, named with a UUID.

Docker integration

Use a dvol volume in Docker by specifying docker run -v name:/path --volume-driver or the equivalent volume_driver in Compose.

If a dvol volume doesn't exist when it is referenced, it is created on-demand.

Usage

dvol copies git as closely as possible, but only implements a subset of its commands.

Here are some examples:

  • dvol list: see which volumes there are, which branch each volume is on, and which containers are currently using each volume.
  • dvol commit -m "commit description": create a new commit based on the running point of the database container by safely stopping and starting the container around the commit.
  • dvol checkout -b newbranch: create a new branch named newbranch from the latest commit (HEAD) on the current branch.
  • dvol reset --hard HEAD^: roll back the current branch to the second last commit.

You can see all available commands by running dvol --help.

If you want other commands to be implemented, please open an issue or even better a pull request!

Demo

dvol clusterhq

Ideas? Feedback? Issues? Bugs?

We really appreciate your ideas, feature request, pulls, and issues/bug reports for dvol, because we believe in building useful and user friendly tools for our communities.

Please raise a ticket or feel free to send us a email at feedback@clusterhq.com.

Core symbols most depended-on inside this repo

exists
called by 31
voluminous/dvol.py
len
called by 24
voluminous/texttable.py
getOutput
called by 16
voluminous/dvol.py
output
called by 15
voluminous/dvol.py
read
called by 11
voluminous/dvol.py
getActiveBranch
called by 10
voluminous/dvol.py
volume
called by 9
voluminous/dvol.py
fromPublicName
called by 8
voluminous/prototype.py

Shape

Method 152
Class 43
Function 14

Languages

Python100%

Modules by API surface

voluminous/dvol.py70 symbols
voluminous/prototype.py55 symbols
voluminous/texttable.py35 symbols
voluminous/test_dvol.py21 symbols
voluminous/plugin.py20 symbols
voluminous/dockercontainers.py8 symbols

For agents

$ claude mcp add dvol \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact