Darke Files is a version control and file synchronization system. Its goal is to scale seamlessly between

  • a full-featured version control system where you can work with branches and inspect and act on a rich version history (similar to version control systems programmers use today, like Git) and
  • a file synchronization tool that is a simple app running in the background regularly uploading your changed files to the cloud so that you can forget that it exists in the day-to-day operation (similar to the cloud synchronization services everyone else uses, like Dropbox or Google Cloud).

Darke Files can scale between those two extremes in a single repository. This enables teams with a wide range of requirements for such a system to work on the same project.


Works with every file

  • regardless whether you're using small text files or huge binary files, Darke Files handles them all
  • no matter what OS you're using, Darke Files won't try to change your line endings out from under you

Simple vs sophisticated even in a CLI

  • one-command way to synchronize your changes with the server with daf sync if you don't care about the details
  • supports all the details with individual commits, refs (branches and tags) on both client and server, full-featured history, and merges when you need them

Leaves your files alone

  • Darke Files knows its limits and won't change your files
  • you know better how to solve merge conflicts so Darke Files steps aside to allow the pro to do their thing

Powerful, customizable, machine-readable access to a repository

  • daf info and its powerful template language lets you easily read out everything from a repository

Recent Activity

This is probably the single most important / powerful feature in Darke. Even with everything else I have planned. &darke


With the amount of tasks in the 0.2.0 milestone for Darke actually going down I've spent the last few days unifying and improving the design system. Therefore I have finally produced something visual to show again. Below are "covers" so that the Darke products can look good on the virtual shelf. &darke


I love my beta testers for being able to put a whole bug report into a single screenshot. I'll have to make a pass over errors, not just this one but all of them. &darke


I've been working on a version control system for the last few months. The goal is to have a system that can handle small text files as well as huge binary files while being as full-featured as Git if you want it to or as easy to use as Dropbox if you don't.

Recently I've added a few web pages to the server so I finally have something pretty to show off that isn't just the screenshot of a terminal. The image shows the history of one of my testing repositories. &darke