4

私はたくさんオフラインです。

そのため、通常、機能やバグなどの「ハブ」として1つのローカルクローンを使用します。

hg clone local-hub bug-123

オフラインで動作します。涼しい。

そのプロジェクトにリモートサブリポジトリが含まれている場合、同様のワークフローを使用できますか?

なぜなら、.hgsubが言うなら

sub/shared = http://server/hg/shared

hgクローンは言う

abort: error: getaddrinfo failed

クローンが作成されると(接続中に)、(の場所ではなく)サブリポジトリのパスが使用されることに注意pushしてpullください。だから私はこれをローカルクローンに向けることができ、すべてがクールです。hgrc.hgsub

しかし、clone見て.hgsubください(それが想定されているように)。したがって、「祝福された」サブリポジトリがサーバー上にある場合、必要なファイルがそこにあるとしても、オフラインで新しいクローンを作成することはできません。

これは問題ですよね?

4

2 に答える 2

6

理想的には、プロジェクトをセットアップする人は誰でも、次のように .hgsub ファイルで相対 URL を使用します。

sub/shared = ../shared

そしてもちろん、実際に shared をメイン リポジトリの兄弟にします。次に、メイン レポジトリとサブ レポジトリを (兄弟として) 複製している限り、すべてがうまくいきます。

.hgsub ファイルで絶対 URL を使用している場合は、次のように .hgrc のサブパス セクションを使用して回避できます。

[subpaths]
http://server/hg/shared = ../shared

クライアントに翻訳レイヤーを提供します。

于 2011-03-03T05:50:34.547 に答える
2

サブリポジトリを使用する標準的な方法は、ファイルにX = Xパスを含めることです。.hgsub

sub/shared = sub/shared

そうすれば、クローンは構造的に元のクローンと同じように見えます。そのため、クローンを使用してさらに(ローカル!)クローンを作成できます。

ただし、これが常に可能であるとは限りません。たとえば、Bitbucketではサーバー上にネストされたリポジトリを作成できません。その場合、ファイル../X内のスタイルパスの方が優れており、サブパス構成セクションを使用して、これらのパスをローカルで使用できるパスに変換できます。.hgsub

于 2011-03-08T09:41:56.647 に答える