Githubとドット・ファイル内のパスワードのジレンマ

遅ればせながらGithubLinuxのドット・ファイルをアップロードしてみた.

昔ちょっと育てた .gdbinit とかどこに行ったんだろう... まさに "bit bucket" に失われてしまったぽい.少しずつこいつに統合して充実させていこう.CentOSのドット・ファイルは自前で追加した PYTHONPATH とかで色々ごちゃごちゃしてたり,統合も楽じゃない.
使うとき(新マシンのセットアップ)は,まぁこんなもんですかね.

$ git clone git://github.com/nodakai/dotfiles.git ~/local/share/dotfiles
(略
$ cd ~/local/share/dotfiles
$ for i in dot.*; do ln $i ~/${i#dot}; done

しかしここでジレンマが:「見せたいけど見せたくない」!

  • .gitconfig[github]token
  • .hgrc[auth]bitbucket.password
  • .reportbugrcsmtppassword

Githubはthe Internetに公開されてるので,外出先で急に自分のファイルが必要になったときとか何も考えずにファイルを引っ張ってくればどうにかなるのが便利だが,さすがにパスワードが入ってるファイルだとそうは行かない..netrc みたいに分離できるといいんだが.それぞれ方法はあるのかな? 環境変数を読んでくれるなら,それらを記録して export しまくる .credentials.env みたいなファイルを .zshrc から source し,.zshrcgit add するが .credentials.env はそうしないという方法が考えられる.
こいつらのせいで ln でハードリンクした後,手動でパスワードを書き込むという一手間が必要になる.また,その結果として,常に ~/local/share/dotfiles はdirtyになる.まぁGitの場合はindexにaddしなければいいから,そこは我慢できるかな.このindexは,一度知ってしまうとSubversionMercurialが貧相に思えてしまう.
まぁ色々試しながらやっていこう.生Gitじゃなくて同様のタスクを「便利に」行えるようラップするツールを配ってる人もいるけど,要求仕様が人それぞれ微妙に違うのと,にも関わらず動作が文書化されておらず最初の一歩を踏み出す敷居が高いという問題がある.それと /etc もどうするか...