回答:
.hgrc
またはMercurial.ini
ファイルにauthセクションを作成できます。
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
「bb」の部分は任意の識別子であり、接頭辞をユーザー名とパスワードと照合するために使用されます-異なるサイトで異なるユーザー名/パスワードの組み合わせを管理するのに便利です(接頭辞)
ユーザー名のみを指定することもでき、プッシュするときにパスワードを入力するだけです。
また、キーリング拡張機能を確認することをお勧めします。パスワードはプレーンテキストファイルではなくシステムのキーリングに保存されるため、より安全です。WindowsではTortoiseHgにバンドルされており、現在、すべてのプラットフォームでバンドルされた拡張機能として配布することについての議論があります。
(〜/ .hgrcファイルで)私にとって有効な形式はこれです
[ui]
username=Chris McCauley <chris.mccauley@mydomain.com>
[auth]
repo.prefix = https://server/repo_path
repo.username = username
repo.password = password
一意のタグを前に付けて、3組の接頭辞、ユーザー名、パスワードを追加することで、必要な数のリポジトリを構成できます。
これはMercurial 1.3でのみ機能し、明らかにユーザー名とパスワードはプレーンテキストです。
MercurialはSSHを完全にサポートしているため、パスワードなしでサーバーにログインできるSSHの機能を利用できます。自己生成の証明書を提供するには、一度設定するだけです。これは、あなたが望むことをするための最も安全な方法です。
パスワードなしのログインの
設定について詳しくは、こちらをご覧ください
安全なオプションが必要だが、SSHに慣れていない場合は、これを試してみませんか?
ドキュメントから...
拡張機能は、指定されたリモートリポジトリへの最初のプル/プッシュ(デフォルトで行われるのと同じ)でHTTPパスワードの入力を求めますが、パスワード(ユーザー名とリモートリポジトリのURLの組み合わせによってキーが付けられます)をパスワードデータベースに保存します。次回の実行時に、.hg / hgrcでユーザー名をチェックし、次にパスワードデータベースで適切なパスワードをチェックし、見つかった場合はそれらの資格情報を使用します。
キーリング拡張については誰も言及していません。ユーザー名とパスワードをシステムのキーリングに保存します。これは、前述のようにパスワードを静的ファイルに保存するよりもはるかに安全です。以下の手順を実行すると、問題ありません。私はこれをUbuntuで約2分で稼働させました。
>> sudo apt-get install python-pip
>> sudo pip install keyring
>> sudo pip install mercurial_keyring
**Edit your .hgrc file to include the extension**
[extensions]
mercurial_keyring =
簡単なハックは、プロジェクトの.hg/hgrc
ファイルのプッシュURLにユーザー名とパスワードを追加することです。
[paths]
default = http://username:password@mydomain.com/myproject
(この方法では、パスワードをプレーンテキストで保存することに注意してください)
同じドメインで複数のプロジェクトで作業している場合は、ファイルに書き換えルールを追加して、~/.hgrc
すべてのプロジェクトでこれが繰り返されないようにすることができます。
[rewrite]
http.//mydomain.com = http://username:password@mydomain.com
繰り返しますが、パスワードはプレーンテキストで保存されるため、通常はユーザー名のみを保存します。
Gnomeで作業している場合は、ここでMercurialとGnomeキーリングを統合する方法を説明します。
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
上記のNOBODYは、初心者ユーザーに用語を説明/明確化しました。彼らは用語に混乱する
.hg / hgrc-このファイルは、実際のリポジトリの.hgフォルダー内のローカル/ワークスペースの場所にあるリポジトリに使用されます。
〜/ .hgrc-このファイルは以下のものとは異なります。このファイルは〜またはホームディレクトリにあります。
myremote.xxxx = ..... bb.xxxx = ......
これは、[auth]セクション/ディレクティブの下の行の1つであり、Mercurialキーリング拡張を使用しています。そこに置くサーバー名が「hg clone」の実行中に使用するサーバー名と一致することを確認してください。一致しない場合、ユーザーが見つからないため、キーリングが表示します。以下の行のbbまたはmyremoteは、「hg clone http:/.../../ repo1 bb or myremote」を実行するときに指定する必要がある「エイリアス名」です。それ以外の場合は機能しないか、ローカルを確認する必要がありますリポジトリの.hg / hgrcファイルには同じエイリアスが含まれています(つまり、最後のパラメーターとしてhg cloneを実行中に指定したもの)。
PS明確な詳細については以下のリンク、すぐに書かれた文法については申し訳ありません。
例:〜/ .hgrc(Linux / Unixではユーザーのホームディレクトリ)またはWindowsではユーザーのホームディレクトリにあるmercurial.ini内に次の行が含まれている場合、
`"hg clone http://.../.../reponame myremote"`
の場合、httpリポジトリリンクごとに2回以上ユーザー認証情報の入力を求められることはありません。〜/ .hgrcの[extensions]の下に、 "mercurial_keyring ="または "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" ..の行があります。これらの行の1つがそこにあるはずです。
[auth]
myremote.schemes = http https
myremote.prefix = thsusncdnvm99/hg
myremote.username = c123456
ユーザーがユーザー名/パスワードのプロンプトなしで、またhttp:// .... / ... Hg repoリンクを使用しているときのservername。IP、サーバー名、またはサーバーのFQDNを指定できます
MacPortsを使用したMac OSXでのmercurial_keyringインストール:
sudo port install py-keyring
sudo port install py-mercurial_keyring
以下を〜/ .hgrcに追加します。
# Add your username if you haven't already done so.
[ui]
username = email@address.com
[extensions]
mercurial_keyring =
状況によっては機能する場合と機能しない場合がありますが、PuttyのPageantを使用して公開鍵/秘密鍵を生成すると便利です。
bitbucket(.org)も使用している場合は、ユーザーアカウントに公開鍵を提供する機能が提供され、リポジトリに到達するコマンドが自動的に保護されます。
再起動時にPageantが起動しない場合は、PageantへのショートカットをWindowsの「スタートメニュー」に追加できます。ショートカットには、プライベート(.ppk)ファイルの場所が設定された「プロパティ」が必要な場合があります。 。
これを使用して、Mercurialとローカルリポジトリは、SSH形式を使用してプッシュ/プルするように設定する必要があります。
WindowsまたはMac / Linux向けのAtlassianのサイトでの詳細な手順を以下に示します。
あなたはそれを私の言葉にする必要はありませんし、間違いなく他の方法があります。おそらく、ここで説明されているこれらのステップはあなたのためのものです:
- スタートからPuttyGenを開始-> PuTTY-> PuttyGen
- 新しいキーを生成し、パスフレーズなしで.ppkファイルとして保存します
- Puttyを使用して、接続するサーバーにログインします。
- PuttyGenからの公開鍵テキストを〜/ .ssh / authorized_keysのテキストに追加します
- Start-> Putty to Start-> Startupから.ppkファイルへのショートカットを作成します。
- スタートアップメニューから.ppkショートカットを選択します(これはすべての起動時に自動的に行われます)。
- システムトレイのページェントアイコンを確認しますか?それを右クリックして「新しいセッション」を選択します
- 「ホスト名」フィールドにユーザー名@ホスト名を入力します
- 自動的にログインします。