Pijul
Darcsと同じパッチベース
開発者
Pijul版のGitHubみたいなやつ
PijulのRepository構造
Tree
追跡しているファイル群
Pristine
追跡対象ファイルの、Repositoryに記録されている状態
Patchが記録されれば、Pristineが更新される
Working Copy
現在のファイルの状態そのもの
Patch
PristineとWorking Copyの差分が保存されたもの
捕捉
Gitでいうstaging areaなるものは存在しない
branchのことはchannelと呼ぶ
Darcsの以下のような問題を解決するために生まれた
パフォーマンス問題
プロジェクトが大きくなると重くなる
Gitとコマンドが違う
commitじゃなくてrecordだったり
logじゃなくchangesだったり
branch機能がない
install
alphaでもいくつかversionが更新されているっぽい
Twitterで確認すると良いかも
2021/1/14現在の最新はalpha.28
$ cargo install pijul --version 1.0.0-alpha.28
でうまくいった
何が言いたいのかと言うとDocsは頻繁には更新されてないのであてにならない

パッチベースのやつ
今から開発始めるぞのタイミングで pijul add
をする
pijul record
で変更を記録する
一つづつ答える
「一つづつ」ってなに?行ごと、どのタイミングで聞かれるの?
「パッチベース」が何を意味しているのかがわかっていない
Darcsの方を調べたほうがわかりやすいのが出てくるかもしれない

Gitと比べて何がいいの?
cherry-pickがしやすい、ってどういう意味?
A. パッチベースなのでrebaseやcherry-pickのような操作で、履歴の書き換えが不要という意味

パッチごとに永続的なIDを持っている
Gitのcommit idは後から上書きできてしまう

GItと比べて何が微妙なの?
Branchの概念がわかりにくい
なんのでためにBranchがある?
論文
Darcsにあった計算量の問題を改善
ファイルが対象
パッチが射
互いにコンフリクトしないパッチは同時に適用出来てかつ適用の順序に依らないことが
押し出しに一致する
さらにこのパッチ圏を拡張(
余完備化)することでコンフリクトが起きないように出来る。
参考
概要や、基本的なコマンドなど
いい

概要