今まで
「package.elでインストールしたパッケージはGitリポジトリに丸ごとcommit」
という豪快な管理をしていました。

アップデートで不具合があってもすぐ戻せるという利点はあったものの、

  • Gitリポジトリが肥大化する
  • なんか頭悪い
    という問題がありました。

ちょっと前からCask で管理するのが流行っています。

brewでインストールすると依存でEmacsが入るのでNG。

$ curl -fsSkL https://raw.github.com/cask/cask/master/go | python

こちらでのインストールは単純に~/.caskにgit cloneするだけでしたので、
Caskに移行しました。

Gitで管理していたとはいえ、インストールされたパッケージが直接イン
ストールしたのか、依存で入ったのか、使わなくなって残っているだけな
のかの確認がめっちゃ大変でした。2時間くらいかかった。。

RubyのbundlerのようにCask.lock的なファイルがあればベストでしたが、
Time Machine使い始めたし[2014-09-10-1] 、まあいいかなと。

こちらが私のCaskファイル。http://masutaka.net/ からも辿れます。

今回の件で[2014-10-25-1] の方法でEmacsをビルドすると、/usr/local
以下にEmacsがインストールされることに気づきました。。
一旦/usr/local/bin/emacsをリネームしました。

追記(2014-11-03):
[2014-10-25-1] のビルド手順を変更しました。