2

「生の」mercurial API を使用すると、次のように書くことができます。

peer = hg.peer(ui.ui(), {}, 'ssh://hg@bitbucket.org/some/project')

接続が確立されたら、リモート リポジトリを操作できます。

hglib を使用してリモート リポジトリで何が機能するかを理解できていません。素朴なアプローチ、つまり次のような単純なものを使用します。

hglib.open("ssh://hg@bitbucket.org/some/project")

動作せず、例外が発生しても何も明確になりません。

私の質問: hglib を使用して、リモート ssh-repo への接続を開くにはどうすればよいですか?

4

1 に答える 1

1

hglib のドキュメントは、その使用方法についてあまり詳しくありません。最善の方法は、キーをコピーして RSA フィンガープリントを .ini ファイルに保存しておくこと~/.ssh/known_hostsです。

ただし、次の方法でレポを複製できます。

hglib.clone(source="ssh://hg@bitbucket.org/some/project")

もちろん、宛先フォルダーを追加することもできます (例: dest="/path/to/blah")。

すでに既存の hg リポジトリのクローンを作成している場合は、試す前に hgrc のいくつかの設定を変更できます。hglib.open()そのため、hg は次のように ssh URL を使用します。

[ui]
username = some_user

[paths]
default = ssh://hg@bitbucket.org/some/project

編集 hg.open が機能するには、レポをチェックアウトする必要があると思います。私にとっては、レポが複製されたパスを参照します。そう:

hglib.open('/path/to/cloned/repo')

SSH 経由でこれを行うには、上記のように /repopath/.hg/hgrc を編集する必要があります。

于 2014-03-04T09:27:53.613 に答える