Darcs
パッチベースの分散VCS
Gitのようにsnapshotで管理しない
パッチで管理する
リポジトリは依存関係のあるパッチの集合
独立なパッチ同士は相互作用しない
開発者はDavid Roundy
2003年
インタラクティブなCUIを使用する
website
hackage
Haskell実装
darcs hub
install
$ stack install darcs
用語
https://gyazo.com/953ceb000c9fa99698007fa5d33421bb http://darcs.net/Using/Model
hunk
ファイル内の変更されたテキストの連続したブロック
patch
hunkの集合(?)
場所
patches
patchの列
以下の2種類がある
primitive patches
hunk
ファイルの追加、ディレクトリの追加など
named patches
working directory
全ての作業が行われる場所
recordすることで、patchとして保存できる
コマンド
$ darcs whatsnew
patchとworking directoryを比較する
パッチベースのDVCS
パフォーマンスの問題がある
http://darcs.net/FAQ/Performance#is-the-exponential-merge-problem-fixed-yet
Haskell実装であり、もともとはGHCの開発に使用されていた
今はGitに移行した
https://togetter.com/li/120640
https://www.infoq.com/jp/news/2011/04/haskell-git/
ということはかなり関数型志向なのかなーmrsekut.icon
CQRS的な?
使ってみた系の記事
Darcsっていうバージョン管理システム触ってみた · 八階ないブログ
https://en.wikipedia.org/wiki/Darcs
The Evolution of Version Control System (VCS) Internals - Part 2
Darcs - Using/Model