↓です。
https://zenn.dev/uzimaru0000/books/impl-git-in-rust
存在は知っていたが、当時はRustに対するモチベーションがなかったので、今更ながら読んでみた。
ちゃんとgitになっていて感動……!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ cargo run add test.txt
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: test.txt
$ cargo run commit "first commit"
$ git log
commit b3240ab3a17f1fbfc21fb36fa783debda0924ae1 (HEAD -> master)
Author: tnantoka <tnantoka@bornneet.com>
Date: Fri Apr 29 17:11:38 2022 +0900
first commit
fs
をインメモリ化してWasm化するところは写経を省略したけど、他の実装をWasm化したい時にも参考になりそうだった。
コード
https://github.com/tnantoka/my_rust_sandbox/tree/main/tiny_git