MacでMercurialのHTTPS認証のパスワードをキーチェーンに保存する
いちいちuser/passを入力するのが面倒。
一つの方法として~/.hgrcにuser/passを書いてしまう手がある。
[auth] er.prefix = https://example.repository.com er.username = {username} er.password = {password}
ただし平文でパスワードを書くことになる
別の方法としてmercurial_keyringを使う方法がある。
これならパスワードはキーチェーンに保存される。
$ head -n1 `which hg` #!/usr/bin/python
easy_installかpipでkeyringをインストールする。
keyring 3.3 : Python Package Index
pip install keyring
mercurial_keyringをダウンロードする。pip installでもいいはず。
https://bitbucket.org/Mekk/mercurial_keyring/raw/default/mercurial_keyring.py
~/.hgrcにmercurial_keyringを設定
[extensions] # ダウンロードした場合 mercurial_keyring = /path/to/mercurial_keyring.py # pip installした場合 mercurial_keyring =
最後に、リモートからチェックアウトしたリポジトリの.hg/hgrcにユーザー名などを設定する。
{project}/.hg/hgrc
[paths] default = https://example.repository.com/repo/awesome_project [auth] default.schemes = https default.prefix = example.repository.com/repo default.username = ***********
一回目のhg pull/pushではパスワードを聞かれる
$ hg pull http authorization required realm: Redmine Mercurial user: *********** (fixed in .hg/hgrc)
2度目から聞かれなくなる
キーチェーンの分類「パスワード」を見てみるとMercurialという名前でパスワードが保存されているのがわかる