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