問題タブ [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.
powershell - Mercurial: サブリポジトリを自動的に追加する Windows スクリプト
RyanWilcoxは、次のコマンドを使用してサブリポジトリを自動的に追加できるスクリプトをhereに投稿しました。
それを Windows バッチまたは PowerShell スクリプトに変換するにはどうすればよいですか?
mercurial - bitbucket でサブリポジトリを使用する
サブリポジトリを bitbucket にプッシュしようとすると、次のエラーが発生しました。
問題の解決方法を説明するこのリンクに遭遇しましたが、何をすべきかわかりません。
Logging サブリポジトリを に配置する必要がありD:\Work\
ますか?
水銀サブパスで正確に何をすべきですか? これにより、ローカルでクローンを作成できますか?
編集:要求に応じて、ここに私の.hgsubファイルの内容があります
mercurial - Mercurial、サブレポの場所を更新
サブリポジトリのURLの1つが変更され、新しい場所を使用するためにすべてのプロジェクトを更新する必要がありました。そのサブリポジトリを使用するすべてのプロジェクトの作業用クローンがあります。
しかし、そのうちの1つの作業コピーがなかった場合、そのプロジェクトのクローンを作成してそのサブリポジトリURLを更新するにはどうすればよいでしょうか。作業コピーなしで.hgsubに変更することは可能ですか?
それをする方法がないようです...
mercurial - Mercurial がサブレポをプッシュしないようにするにはどうすればよいですか?
私のリポジトリには、使用しているモジュール用のサブリポジトリがいくつか追加されています。私は常にこれらのサブリポジトリを「プルのみ」として扱います。それらに変更を加える予定はありませんが、新しいバージョンがリリースされた場合に新しい変更を簡単にプルできる機能を保持したいと考えています。
メイン リポジトリをプッシュすると、Mercurial はサブ リポジトリをプッシュしようとします。これを防ぐ設定はありますか?
mercurial - Mercurial-リポジトリ自体ではなく、サブリポジトリを含むリポジトリ内のすべてのファイルを取得します
これは可能ですか?
私がやりたいことを簡単に説明するには:
サブリポジトリ「B」を持つリポジトリ「A」があります。ペアのコピーが2つあります。
1つのコピー(これをスモールコピーと呼びます)では、「A」にはチェンジセットA1〜A5があり、「B」にはチェンジセットB1〜B20があります。
もう1つの(大きな)コピーでは、「A」にはチェンジセットA1〜A10があり、「B」にはチェンジセットB1〜B30があります。
私がやりたいのは、大きなリポジトリからすべてのファイルを取得し、それらをチェンジセットA6およびB21として小さなリポジトリにコミットすることです。次に、それをサーバーにプッシュします。(大きなリポジトリはサーバー上に存在しないため、競合が発生することはありません。)
この領域のツールは存在するようです。たとえば、ここを参照してください。問題は、提案された方法のいずれかがサブリポジトリでうまく機能するかどうかわからないことです。
version-control - Mercurial と VCS の新機能: 共有コードのマルチサーバー セットアップ
私たちの小さなオフィスでは、Mercurial をセットアップしています。「本物の」バージョン管理システムを使用するのは初めてです。ライブ サーバー、ステージング サーバー、開発サーバーの 3 つのサーバーがあります。
また、訪問者用、ユーザー用、オフィス スタッフ用のイントラネット サイトの 3 つの比較的大きな Web サイトもあります。
3 つの Web サイトは、一部のコードを共有しています。(たとえば、php クラス ライブラリ、一般的に使用されるコード スニペットなど)
バージョン管理の前は、シンボリック リンクを使用して共有ライブラリにリンクしていました。たとえば、各サイトには「ObjectClasses」ディレクトリへのシンボリック リンクがありました。ObjectClasses 内のファイルに加えられた変更は、すべてのサイトで即座に利用できます。変更したファイルをステージングとライブにアップロードするだけで完了です。
しかし... Mercurial はシンボリック リンクをたどりません。そこで、3 つのサーバー上の 3 つのサイトに共有ライブラリ用のサブリポジトリをセットアップしました (開発サーバー上にリポジトリの 2 つの別個のクローンを持つ 2 人のプログラマーがいるという事実を数えると、実際には「4 つの」サーバーです)。
したがって、共有オブジェクト ライブラリの 12 個の作業コピーがあります。
だからここに質問があります:
上記の設定を簡素化する方法はありますか?
これは私たちのワークフローがどうなるかの例で、複雑すぎるように見えますが、これはバージョン管理を使用するようなもので、慣れる必要があるだけかもしれません:
プログラマー A は、サイト 1 のサブレポにあるオブジェクト Foo に変更を加えます。プログラマー A は、これをどこでも利用できるようにしたいので、それをコミットし、ステージング サーバーにプッシュします。ステージング サーバーにフックを設定して、ステージング サーバー上の 3 つのサイトに変更を自動的に伝達し、ライブ サーバー上の 3 つのサイトに再度伝達します。これにより、ステージング サーバーとライブ サーバー上の 6 つの作業コピーが処理されます。ここまでは順調ですね。
しかし、これらのファイルで進行中の作業がある可能性がある開発サーバーはどうですか?
プログラマー A は、共有サブレポを開発サーバーのサイト 2 と 3 に手動でプルする必要があります。彼はまた、プログラマー B に、サイト 1、2、および 3 の共有サブレポを、開発サーバー上の自分のサイトのコピーで手動でプルするように指示する必要があります。彼がサイト 1 で Object Foo を編集し、サイト 2 で Object Foo に別の編集を行っているとしたらどうなるでしょうか。彼は 2 つの別々の競合を解決する必要があります。
比較的頻繁にオブジェクトに変更を加えます。これは私たちを狂わせるでしょう。私はバージョン管理のアイデアが大好きです。しかし、最適なセットアップを見つけようと 2 週間格闘した後、共有ファイルのコピーを 1 つ持っていて、「やあ、そのファイルで作業しているんだ。 a change」は今のところかなり良さそうです。
これを設定する簡単な方法は本当にありませんか?
mercurial - Mercurial を使用してすべてのサブリポジトリに再帰的にタグを付ける
メインの親リポジトリにタグを付けて、そのタグをすべてのサブリポジトリにも追加することはできますか?
これがないと、プロジェクトをサブリポジトリとして削除して単独でアクセスすると、これは親リポジトリにのみ属しているため、すべてのタグ情報が失われます。
svn - サブリポジトリの更新の進捗状況を表示するにはどうすればよいですか?
SVNサブリポジトリを含むMercurialリポジトリがあります。hg update
Mercurialは、ファイルの処理中にフリーズします.hgsubstate
。これは、Mercurialsvn
がSVNの正しいリビジョンをプルするコマンドをバックグラウンドで実行するためだと理解しています。
SVNサブリポジトリーは非常に大きく、全体がハングしているように見えるため、ユーザーにとっては非常に直感的ではありません。
そのような操作中にsvn出力をダンプする方法はありますか?
svn - Mercurial with Subversionサブリポジトリを取得して自動的にチェックアウトすることはできますか?
Subversionサブリポジトリを持つMercurialリポジトリを設定しました。.hgsub
Mercurialがそのリポジトリを認識するようにファイルを構成しました。svn update
ただし、リポジトリをプルするたびにMercurialが自動的にトリガーできることを期待していました。
これはMercurialsubversionリポジトリで可能ですか?.hgsub
そうでない場合、そのサブディレクトリを配置するのではなく、ファイルを保持することの利点は何.hgignore
ですか?
mercurial - subrepos - Mercurial のサブリポジトリを使用して、複数のプロジェクトをリポジトリにプッシュできますか?
私は3つのプロジェクトを持っています:
これら 3 つのプロジェクトの 3 つのパッケージを同じ離れたリポジトリに保存したいと考えています。
離れたリポジトリのクローンに 3 つのパッケージをクローンしようとしました。
次に、これら 3 つのパッケージを .hgsub ファイルでサブリポジトリとして宣言しました。
hg add
andhg commit
コマンドを呼び出しました。
しかし、ファイルをリモート リポジトリにプッシュしようとすると、.hgsub および .hgsubstate ファイルがリモート リポジトリにプッシュされますが、パッケージには次のことが起こります。
サブリポジトリの仕組みを誤解しているようです...
サブリポジトリの使用は私のユースケースに当てはまりますか? 私がやりたいことはどのように行われるのでしょうか?