読者です 読者をやめる 読者になる 読者になる

git addしてるファイルだけをwatsonでチェック

githubのissue管理などに便利なwatsonですが,通常だと*~などを含む全ファイルから[todo] -, [fix] -といったタグを探しに行ってしまいます.

これは嬉しくない動作だったので,git addしてあるファイルだけを追跡するようにしました. 以下の1行を$HOME/.bashrcの最後の行にでも書けばOKです.

gitリポジトリでのみ使う場合

alias watson='f=$(git ls-files) && watson -f $f'

gitリポジトリ以外では全ファイルを追跡する場合

alias watson='watson -f $(git ls-files)'

結果

「gitリポジトリでのみ使う場合」の設定での結果です.

before

[~/git/foo] $ watson 
...
[ o ] ./.travis.yml
[ o ] ./.travis.yml~   ## バックアップファイルも含め全ファイルが追跡されている
[ o ] ./CHANGES.txt
...

after

[~/git/foo] $ watson   # gitリポジトリなディレクトリ
...
[ o ] .travis.yml   ## git addされていない .travis.yml~ が除かれた
[ o ] CHANGES.txt
...


[~/tmp] $ watson   # gitリポジトリでないディレクトリではエラーを吐いて停止
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).