DRYな備忘録

Don't Repeat Yourself.

tigが「dyld: Library not loaded」とか言うので、ソースからコンパイルして使う

背景

tig好きなんですよ。だけどbrewから入れようとしたら以下の症状になるんで、手元でコンパイルすりゃいいか、となりました。

qiita.com

tigとは

これ

github.com

tigの良さについて過去に備忘録書いてるかと思ったら書いてなかったので、自分使いの例で言うと

  • tigとすると、git logがめっちゃ見やすく出るやつ
    • jkカーソル移動でpatchの内容も開ける
  • tig blame とかすると、line by line のblameだけではなく、当該blameを含んだpatchが見れるので、意図をblameできる

みたいなやつです。とにかく入れてみてtigと打ちましょう。

f:id:otiai10:20190116100954p:plain
tigの図

ゴール

参照

ログ

brewで入れちゃったものがある場合、まずこれ

% brew uninstall tig

ソースの取得

# このへんは気持ち。手元コンパイルするツールはこの中においてるだけ。
% mkdir -p ~/opt/src
% mkdir -p ~/opt/bin
% cd ~/opt/src
% git clone https://github.com/jonas/tig.git
% cd tig

コンパイル

% make
# ログからは分かりづらいが、成果物の実行可能ファイルが
# src/tig に配置されている。

確認

% ./src/tig --version
tig version 2.4.1-7-g93ea970
ncurses version 5.7.20081102
readline version 8.0
%

いい感じ。PATH通す

% ln -s ./src/tig ~/opt/bin/tig
% export PATH=${HOME}/opt/bin:${PATH}
% which tig
/Users/otiai10/opt/bin/tig
% tig --help
tig 2.4.1-7-g93ea970

Usage: tig        [options] [revs] [--] [paths]
   or: tig log    [options] [revs] [--] [paths]
   or: tig show   [options] [revs] [--] [paths]
   or: tig blame  [options] [rev] [--] path
   or: tig grep   [options] [pattern]
   or: tig refs
   or: tig stash
   or: tig status
   or: tig <      [git command output]

Options:
  +<number>       Select line <number> in the first view
  -v, --version   Show version and exit
  -h, --help      Show help message and exit
%

おしまい。

DRYな備忘録として