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 syncif 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 infoand 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-gitcommand - Added delta / incremental Git import and export functionality
- Added Visual Studio Code extension
- Added
blob,pathandstatusVerbosefunctions to repo info command - Added webhook functionality on server and
configure-webhookcommand
- Added
- Changes
import-gitcommand renamed toimport-from-git- The
infocommand 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-gitcommand - Fix some files not correctly shown as ignored in
statuscommand - Fix filepaths with backslash not working in
ignoresandrestorecommands
0.4.0 - 2022-11-01
- Features
- Added Scalable Repository feature
- Added
daf scalecommand to configure exclusion rules - Added
daf cleanupcommand to run garbage collection on repository - Added
daf download-commitcommand - Added
--currentflag todaf clone - Added
--allflag todaf push
- Changes
- Everything can now handle a locally incomplete repository
daf loganddaf switchinform you if the operation touches files not available locally
- Fixes
- Fixed output of
daf pushcommand when ref does not exist on server - Fixed edge case in files matcher (as used in ignores feature)
- Fixed edge case in
daf pullwhich didn't use--server-refoption when set
- Fixed output of
0.3.2 - 2022-09-18
- Features
- Added
daf ignorescommand 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 statuscommand, including with--debugflag
- 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 loginanddarke logout - Ability to restrict write access to a repository with
darke files configure-roles darke serverctlcommand- Metrics about users and sessions at
/admin/metrics
- Registration on server with invite codes with
- Fixes
- Made maintenance job log at
/admin/maintenanceclearer
- Made maintenance job log at
0.2.1 - 2022-06-19
- Features
- Added
statusfunction todaf info - Added
--keep-changesflag todaf switch - Enable upload progress bars
- Added admin endpoint to server at
/adminincluding 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-fileanddaf upload-filecommands - Added
daf infocommand - Added ignoring files with
daf ignoreanddaf 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