Monday, April 24, 2023

Darke Files is a version control and file synchronization system

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 and statusVerbose functions to repo info command
    • Added webhook functionality on server and configure-webhook command
  • Changes
    • import-git command renamed to import-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 and restore 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 to daf clone
    • Added --all flag to daf push
  • Changes
    • Everything can now handle a locally incomplete repository
    • daf log and daf 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

0.3.2 - 2022-09-18

  • Features
    • Added daf ignores command for easier management of ignored files and directories
  • Changes
    • Improved ignore pattern functionality, now supports ** pattern
  • Fixes
    • Fixed output of daf status command, including with --debug flag

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 and darke 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
  • Fixes
    • Made maintenance job log at /admin/maintenance clearer

0.2.1 - 2022-06-19

  • Features
    • Added status function to daf info
    • Added --keep-changes flag to daf switch
    • Enable upload progress bars
    • Added admin endpoint to server at /admin including metrics at /admin/metrics
    • Automatically renew data protocol certificates
  • 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 and daf upload-file commands
    • Added daf info command
    • Added ignoring files with daf ignore and daf ignore -p
    • Added option to specify file in darke config
  • 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



from Hacker News https://ift.tt/158GhtE

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.