Darke Files is a version control and file synchronization system. Its goal is to scale seamlessly between the two extremes:
- a full-featured version control system. It lets you work with branches and inspect and act on a rich version history. It works like version control systems programmers use today, for example Git.
- a file synchronization tool. It uploads your changed files to cloud storage so that you can forget it exists in the day-to-day operation. It works like cloud synchronization services everyone else uses, for example Dropbox or Google Drive.
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.
Features
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.
Quick to use or advanced even in a CLI
- Synchronize your changes with the server with one command with
daf sync
if you don't care about the details. - Darke Files 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. Darke Files lets you handle it.
Powerful, customizable, machine-readable access to a repository
daf info
and its powerful template language lets you read out everything from a repository.
Can I start using this right now?
Darke Files is still alpha software so please don't use it in production. Additionally Darke Files is missing many missing many features one might expect from a version control system (or a software forge, or a devops platform). Keep good backups of your data if you decide to try it out.
Changelog
0.5.0 - 2022-12-15
- Features
- Added
export-to-git
command - Added delta / incremental Git import and export functionality
- Added Visual Studio Code extension
- Added
blob
,path
andstatusVerbose
functions to repo info command - Added webhook functionality on server and
configure-webhook
command
- Added
- Changes
import-git
command renamed toimport-from-git
- The
info
command now adds a trailing line break when not using a template file and writing the result to a file
- Fixes
- Multiple merges into a single commit now correctly keep all parents
- Fix several edge cases in
import-from-git
command - Fix some files not correctly shown as ignored in
status
command - Fix filepaths with backslash not working in
ignores
andrestore
commands
0.4.0 - 2022-11-01
- Features
- Added Scalable Repository feature
- Added
daf scale
command to configure exclusion rules - Added
daf cleanup
command to run garbage collection on repository - Added
daf download-commit
command - Added
--current
flag todaf clone
- Added
--all
flag todaf push
- Changes
- Everything can now handle a locally incomplete repository
daf log
anddaf switch
inform you if the operation touches files not available locally
- Fixes
- Fixed output of
daf push
command when ref does not exist on server - Fixed edge case in files matcher (as used in ignores feature)
- Fixed edge case in
daf pull
which didn't use--server-ref
option when set
- Fixed output of
0.3.2 - 2022-09-18
- Features
- Added
daf ignores
command for easier management of ignored files and directories
- Added
- Changes
- Improved ignore pattern functionality, now supports
**
pattern
- Improved ignore pattern functionality, now supports
- Fixes
- Fixed output of
daf status
command, including with--debug
flag
- Fixed output of
0.3.1 - 2022-08-31
- Features
- Add option to add TOTP as second factor to login
0.3.0 - 2022-07-23
- Features
- Registration on server with invite codes with
darke register
- Login on server with
darke login
anddarke logout
- Ability to restrict write access to a repository with
darke files configure-roles
darke serverctl
command- Metrics about users and sessions at
/admin/metrics
- Registration on server with invite codes with
- Fixes
- Made maintenance job log at
/admin/maintenance
clearer
- Made maintenance job log at
0.2.1 - 2022-06-19
- Features
- Added
status
function todaf info
- Added
--keep-changes
flag todaf switch
- Enable upload progress bars
- Added admin endpoint to server at
/admin
including metrics at/admin/metrics
- Automatically renew data protocol certificates
- Added
- Changes
- Specify minimum supported TLS version of data protocol as TLS 1.2
- Guard better against path traversal attacks
- Fixes
- Clone command overwriting an already existing local repo
- A few visual bugs of the progress bar
- Server not showing anything when a directory is empty
- Various fixes related to repo metadata on the server
0.2.0 - 2022-05-21
- Features
- Added
daf download-file
anddaf upload-file
commands - Added
daf info
command - Added ignoring files with
daf ignore
anddaf ignore -p
- Added option to specify file in
darke config
- Added
- Changes
- Made TLS for data protocol mandatory using self-signed certificates
- Major improvements to diffing and merging
- Major improvements to
daf sync
- Fixes
- Fixed edge cases everywhere
0.1.0 - 2021-10-03
- Initial release