Open3
`git-du` の夢
git-du
とは?
-
du(1) のGit特化CLIアプリ
- Gitリポジトリに対して、“display disk usage statistics (BSD)” とか “estimate file space usage (Coreutils)” とか
- 作業ディレクトリが
/path/to/repo/src/foo/bar
であったとしても暗黙でdu /path/to/repo
する(/path/to/repo/$GIT_DIR
を仮定) - リポジトリ以外のディレクトリでは働かない。
- Gitのエイリアス機能に組み込んで使うことを想定
- コマンドライン引数は du 互換
- オペランドにリビジョンとかpathspecとか指定できたらいいなあ
利用想定
$ git config --global alias.du '!git-du'
$ cd /tmp
$ git du --work-tree
git-du: not in a git directory
$ cd /path/to/repo
$ git du --work-tree
24 LICENSE
0 README
8 src/foo/bar
8 src/foo
8 src
$ git du -s -h --git-dir
164K .git
$ cd /path/to/repo/src/foo/bar
$ git du -s -h --git-dir
164K .git
Gitのメモ
git rev-parse --show-toplevel