問題タブ [mercurial-subrepos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
81 参照

mercurial - 共有サブリポジトリの URL を変更する方法

別の URL を指す 4 時間ごとに更新されるリポジトリのレプリカがあります。問題は、.hgsub のパスがまだ元のリポジトリ URL を指していることです。レプリカ リポジトリのサブ リポジトリ パスを変更するにはどうすればよいですか。サブリポジトリを更新しようとするたびにクローン失敗エラーが発生するためです。ガイドしてください

0 投票する
3 に答える
353 参照

ssh - サブリポジトリを使用して HG Workbench がユーザー名を要求しないようにするにはどうすればよいですか?

HG Workbench とサブリポジトリを ssh 接続で使用しています。毎回パスワードを入力するのを避けるために、ssh-rsa も使用しています。これは、メイン リポジトリに最適です。しかし、HG Workbench (またはコマンド シェル) をプッシュまたはプルすると、サブリポジトリごとにログイン名を入力するダイアログが表示されます。これを防ぐことはできますか?

アップデート:

私は窓を使っています。また、グローバルおよびすべてのサブリポジトリに[ui]セクションがあります。usernamemercurial.inihgrc

0 投票する
1 に答える
62 参照

mercurial - Mercurial Hg へのクローニング

ローカル コンピューターにリポジトリのクローンを作成し始めました。リポジトリには 2 つのサブリポジトリが含まれています。まず、これら 2 つのサブリポジトリには、同じ mercurial 内の他のリポジトリへの参照があります (.hgsub ファイルにはパスが含まれています)。その後 (ファイルのリビジョン履歴を見るとわかるように)、別のプログラマーが .hgsub ファイルを、私がアクセスできない別のサーバーにホストされている同じ名前のリポジトリへの別のパスで変更しました。その後、彼はこれらのサブリポジトリを参照して、サーバー上のプライマリ リポジトリに戻しました。そのため、最新のリポジトリには、サーバーからのコードのみが含まれています。

それで、リポジトリのクローンを作成し始めました。Mercurial は、最初から行われたすべての改訂を適用しているようです。リビジョン サブリポジトリ パスが変更されると、他のサーバー Mercurial への承認が求められます。私はそのサーバーにアクセスできません。そのため、クローン作成プロセスはここでステータス Failed で停止します。これら 2 つのサブリポジトリを個別に複製し、ローカル リポジトリの適切な場所にコピー アンド ペーストしました。メイン ソリューションを開いてビルドしようとしましたが、ライブラリへの一部のプロジェクト参照が古かったためにエラーが発生しました。それらを削除し、再度参照しました。もう一度ビルドしてみてください。ただし、一部のライブラリには一部のメソッドが含まれていません。そして、クローンが成功しなかったため、それらを最新のリビジョンに更新できませんでした。私は途方に暮れています。誰かが同様の状況に遭遇しましたか?

0 投票する
1 に答える
153 参照

mercurial - Mercurial のサブフォルダーにサブリポジトリを追加する

サブフォルダにサブリポジトリが必要です。

これが私のhgsubファイルの行です:

Common\Vectors = http://my.rhodecode.org/DotNETSources/DotNETCommon/Vectors

TortoiseHG がサブレポを表示し、すぐには爆発しなかったため、最初は機能しているように見えました。ただし、親リポジトリへの変更をコミットできないようです。コミットは問題なく行われますが、サブリポジトリはまだ変更済みとしてマークされており、.hgsubstate ファイルは変更されていません。

これは可能ですか?どうすればそれを行うことができますか?

0 投票する
1 に答える
808 参照

mercurial - subrepos を含むリポジトリで PULL を使用した Mercurial CLONE は、完全に独立したリポジトリを作成しません

実際のファイルの束を含むサブリポジトリ Sub を持つシェルリポジトリ OriginalWithSubrepo があります。

このように OriginalWithSubrepo を複製すると

このようにして作成されたクローンには、mercurial ハウスキーピング ファイルがいくつか含まれているだけで、元の Sub\.hg ディレクトリからの実際のデータはありません。これらのファイルの意味はわかりませんが、クローンで作業ディレクトリを更新すると、 Sub\.hg ディレクトリ内を含むすべてのファイルがすべて入力されるため、リポジトリを再作成するには十分なようです。ただし、クローンを作成してオリジナルの名前を変更し、クローンを更新しようとしても、OriginalWithSubrepo が見つからないと言って機能しません。つまり、すべてオリジナルへのリンクに基づいているということです。

この問題は、更新を使用してクローンを実行した場合、またはサブリポジトリなしでリポジトリをクローンした場合には発生しません。

ネットワーク共有に複製するときも同じように動作します。これは、私が本当に機能させたい場所です。

では、サブレポを使用してレポの完全に独立したクローンを作成するにはどうすればよいですか (同時更新なし)。

Windows XP、hg バージョン 3.4.1

0 投票する
3 に答える
487 参照

mercurial - コミット間のサブレポの変更を確認する方法

サブレポ(これも水銀)を備えた水銀レポがあります。サブレポとメインレポを変更した状況を想像してみてください。ここで、サブリポジトリの変更を含む、いくつかのコミット間の変更を確認したいと考えています。

出来ますか?

私は TortoiseHG と diffmerge を使用しています。TortoiseHg からの視覚的な差分を呼び出す diffmerege では、複数のコミット間でサブリポジトリの変更を確認できません。

0 投票する
0 に答える
111 参照

svn - サブリポジトリまたはゲストリポジトリの Mercurial 部分クローン

サブリポジトリまたはゲストリポジトリとして、mercurial リポジトリの部分的なクローンを作成することは可能ですか?

説明:

https://blah/hg/foo/という名前のレポとという名前fooの別のレポが与えられた場合、 の下の特定のディレクトリからcatゲストレポを作成したいと思います。から。_catfoocfoo:/a/b/c/

私の知るc限り、スタンドアロンのリポジトリとしては利用できません。への読み取り専用アクセスfooが想定されています。

私の意図はcat:/d/e/c/、ゲストの場所がfoo:/a/b/c/変更された場合に更新することです。svn:externalsこれはinと同様の動作と見なされますsvn

Guestrepo拡張子:

私はGuestrepoExtensionを試すことから始めました:

.hggrmapping:

.hgguestrepo:

foo問題は、リポジトリ全体が必要ではなく、このディレクトリとその内容だけが必要な場合に、サブディレクトリを参照する方法がわからないことです。

https://www.mercurial-scm.org/wiki/PartialCloneによると、サブディレクトリの部分的な複製/複製は mercurial では実装されていません (言及されたBug 105は 2012 年以降、既にクローズされています)。これが理由です、

サブリポジトリ:

偶然にもディレクトリがsvnミラーに存在するため、現在、サブリポジトリの使用に頼っています。c

.hgsub:

これには、外部のバージョン管理に依存したくないという欠点があります。svn、リポジトリ、およびツールの可用性。

これはどういうわけか純粋にmercurialで処理できますか?

0 投票する
1 に答える
232 参照

mercurial - Mercurial guestrepo 拡張機能: スコープとユース ケース

私は水銀のゲストレポ拡張機能を見ていますが、互いにネストされたリポジトリを単純にインスタンス化するだけで何が提供されるかを正確に判断できません(つまり、サブリポジトリとして定義されていません)。

唯一の利点は、ネストされたリポジトリごとに個別に実行するのではなく、単一のコマンド操作 (プッシュ/プルなど) を各ゲスト リポジトリ (およびそのゲスト)​​ で実行できることです。

Guestrepo では、「ホスト リポジトリ」がゲスト リポジトリで行われたローカルの変更を追跡することは許可されていません。これにより、「ホスト リポジトリ」とローカルで変更されたゲスト リポジトリの間でコードの状態が一致しなくなる可能性があります。

この拡張機能の範囲を正しく理解していますか? この拡張機能の使用例は何ですか。この点に関して、ドキュメントは私には抽象的すぎます。