問題タブ [hgsubversion]
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.
mercurial - svnリポジトリを新しいデフォルトのブランチ名でhgにプル/クローンしますか?
プロジェクトのSVNリポジトリをフォークしていて、Mercurialリポジトリに統合する必要があります。簡単にするために、ローカルのhgsubversionリポジトリとローカルのhgリポジトリがあります。ただし、mercurialリポジトリとhgsubversionリポジトリの両方default
がデフォルトのブランチ名として使用します。ここでの私の目標は、元のコードと更新を1つのブランチに配置し、私のコードをdefault
ブランチに配置することです。
しかし、私はまだこれを行うことができていません。
当然のことながら、hgsubversionは、default
ブランチで本当に必要なときに、プルされたコミットをブランチに入れblizzard
ます。ドキュメントから、コミット元のブランチの名前を変更する方法はありません。
苛立たしいことに、hgsubversionリポジトリだけがプルされているレポでそれを行う方法を思いつくことすらできません。すべてのコミットは、何があってもその1つのブランチに関連付けられます。
SVNリポジトリから変更をプルし、ブランチの名前を別の名前に変更する方法についての提案はありますか?
mercurial - Mercurial を使用して、デフォルトから名前付きブランチへの変更を取得するにはどうすればよいですか?
hgsubversion を使用して SVN リポジトリから複製された履歴を含む中央の Mercurial リポジトリがあります。元の hg リポジトリがクローンされてから、SVN リポジトリに対して行われた追加のコミットを取得しました。これらは現在デフォルト ブランチにあります。
名前付きブランチもあります。このブランチを (を使用してhg clone -b mybranch
) ローカル システムに複製しました。ここで、デフォルトにのみ存在する変更を取得し、名前付きブランチで利用できるようにしたいと考えています。私がそれを行うための明白な方法はhg update mybranch
、リポジトリでa を実行してhg merge default
からコミットすることです。これは危険に思えます。完了後にデフォルトに戻すのを忘れた場合、SVN からの今後のプルはすべてmybranchに変更をプルします。
また、レポのクローンを作成するときにmybranchを指定するべきではなかったのではないかと考えましたが、レポ全体をクローンして、ローカルでmybranchに更新しただけです。したがって、デフォルトで変更をローカル クローンにプルし、そこでマージすることができます。
ここで正しい答えは何ですか?共有レポでそれを行い、注意してください。すべてを複製してブランチをローカルで管理しますか? または、私が見逃している簡単な解決策はありますか?
svn - HGSubversionを使用してSVNにプッシュする場合のワークフロー
この質問は、この質問で提起された質問と非常によく似ていますが、回避策の後にいくつかの問題が発生しています。
問題:
基本的に、私はSubversionサーバーとMercurialローカルクライアントを持っています。拡張hg-subversionを使用すると、mercurialがSubversionクライアントとして機能できます。これは、Subversion開発ブランチから無制限の機能ブランチを作成し、適切なものを選択してそれらをマージできるため、私にとって理想的です。
Subversionの制限により、Subversionリポジトリへのブランチマージをコミットできません。実際、すべてのブランチマージをコミットする必要はありません。「デフォルト」のブランチヘッドをSVNにコミットするだけです。
提案された解決策:
Harveyが推奨した回避策のユーザーは、ワークフローを変更して、開発用のhgsubversionクローンのhgのみのクローンを含めることでした。
ハーベイを引用するには:
秘訣は、変更されたhg <-> hgsubversion<->svnワークフローを学習することです。それがどのように機能するかを「理解」すれば、問題はありません。さらにいくつかのコマンドを入力するだけです。私は実際に、プロセス(反復的)を簡単にするためのスクリプトを書き始めました。典型的なフロー:["hg"リポジトリ内]一連の変更をコミットします。それらを「hgsubversion」にプッシュします。["hgsubversion"に切り替え]hgupdate(hgsubversionにはこれが必要です); hg push to "svn"(これは、ローカルでチェンジセットをプッシュして削除した後、自動的に再プルします)。[「hg」に戻る]「hgsubversion」からのhgpul; hgは古い複製を削除しますb/c "hg"はhgsubversionクローンではなく、古いチェンジセットを自動的に削除することを知りません。
私が直面している問題:
hgsubversionからsvnリポジトリへのhgpushを実行する時点で行き詰まります。「申し訳ありませんが、マージリビジョンのsvn親が見つかりません。」というエラーメッセージが引き続き表示されます。
確かに、私はhgsubversionがリビジョンをsvnにプッシュする方法について100%ではありません。正直なところ、ローカルコピーがsvnサーバーにプッシュされている状態を確認したいと思います。
停止しますか?
mercurial - Mercurial 変更セットを hgsubversion で変換されたリポジトリに移植する
私は転覆から水銀の断片に移行してきましたが、これにより少し混乱が生じました。最初に古いSVNサーバー(1.4より前)を持っていたので、ここで何が起こったのですか。
- HgSubversion はトランクから完全な履歴を取得したくなかったので、浅い変換を行いました。
- 私の同僚は SVN への最後のコミットを行い、私はそれらを Hg にプルしました。
- Hgに移動し、プッシュを開始しました
- 安全のために、私の同僚の 1 人が SVN にさらにコミットしました。
- SVNサーバーのアップグレードを管理し、新しいSVNへの完全なレポを取得しました。
- HgSubversion は完全な履歴を正常に取得しました - いくつかの余分な/重複したコミットを含みます。
ここで、浅いmercurialリポジトリのコミットを完全な履歴に「移植」したいと思います。リポジトリはコンテンツでは関連していますが、mercurialハッシュでは関連がありません。変更を移行するための最良の方法は何ですか? 最終的には、誰もができるようになるはずです:
- 完全な履歴で Hg リポジトリを切り替えて作業を続けるには
- サービス ユーザーとして、適切な squash/rebased 変更セットの Hg リポジトリから SVN への自動プッシュを行います。
次のシナリオの具体例が欲しいです。
- ステップ 2 の最後の水銀ハッシュ - A
- ステップ 3 をプッシュした後の現在の水銀ハッシュ - B
- アップグレードされた SVN からプルした後の最後のコミットのハッシュ - C
- 完全な SVN 履歴プル後のステップ 2 コミットのハッシュ - D
私はアスキー アートがあまり得意ではないので、ボーナス ポイントとして 1 つ追加してください。
svn - hgsvn pull で subversion リビジョンをスキップするにはどうすればよいですか?
私は Mercurial を Subversion のフロント エンドとして使用しようとしていますが、共通の変更などを確認できるように、すべてのブランチなどをそのままにしておくことに強い関心があります。
ただし、私のすべてのサブバージョン リポジトリは、mercurial にかなり大きな問題を引き起こします (残念ながら、TortoiseHg 2.0 で 1.8 を使用すると、ppa は古いリビジョンを削除したようです...)。問題はさまざまであり、列挙 (または把握) するにはあまりにも多くの煩わしさがあります。
hg clone
またはhg pull
不平を言うsvnリビジョンをスキップするにはどうすればよいですか? それとも、複製が成功するまで、再帰的に取得するリビジョンの数を減らしていく必要がありますか?
また、パッチを svn からエクスポートして作業ディレクトリに適用することで、この問題を回避しようとしました。まったく同じ問題が発生します(しかし、少なくとも今、私は何かを調べています...)
私が得ている問題(ただし、特に質問のトピックではありません...)
既存のファイルの上書き試行:
によって達成されhg init
、svn url を設定し、hg pull
一般的なハンクの問題:
達成者hg clone
一般的なエラー テキスト:
私はubuntuを使用していますが、それを管理するためのPPAが本当に必要であり、この相互運用性に不満を感じています。hg+git+svn のダブル ブリッジか何かを試す必要があるのではないかと考えています。
svn - hgsubversion SVN クローンがプッシュバックできるようにするために必要な手順
私は主に SVN を使用するチームで働いていますが、可能であれば Mercurial を使用することを好みます。hgsubversion を使用して SVN リポジトリの hg クローンをセットアップしたところ、いくつかの基本的なプル/コミット/プッシュが正常に機能しているように見えました。
2週間のローカル開発の後(その間、外部のhgリポジトリからの変更をマージし、SVNリポジトリからの変更を複数回マージしました)、SVNリポジトリにプッシュしようとしましたが、これで失敗しましたメッセージ:
中止: 申し訳ありませんが、マージ リビジョンの svn 親が見つかりません。
他のユーザーが同じ問題に遭遇し、この問題を今後回避する方法についてのハウツーを見つけましたが、既存の hgsubversion リポジトリをクリーンアップするために複数の並列コミットを凝縮することに対処しているように見えるものには遭遇していません。
自分のコミットを失わずに問題を修正できる最善の方法は何ですか? (ステップバイステップの説明付き?)
svn - 他のチームメンバーがSVNに取り組んでいるときに、ローカルでHgを使用し、SVNリポジトリにプッシュする-これは可能ですか?
私は、ここSOで非常によく似た質問のように見えるものと、良い答えのように見えるものを見つけました。しかし、何らかの理由で、これを機能させる方法をまだ理解できないようです。私の懸念は、それが単に不可能かもしれないということです。
状況は次のとおりです。バージョン管理システムとして中央のSVNリポジトリを使用する小さなチームで作業しています。私のペアプログラマーと私はローカルコミットのオプションがないことに不満を感じた(そしてSVNブランチを使用する煩わしさを経験したくなかった)ので、SVNクライアントとしてGitまたはMercurialのいずれかを使用することを検討し、hgsubversionを見つけましたHgリポジトリでローカルに作業し、ローカルでコミットし、準備ができたときにのみSVNにプッシュするという私たちが望むことを実行できるようです。
プッシュするときが来たとき、Hgから次のエラーメッセージを受け取りました。
問題は、チームメイトの更新を取得するためにSVNから変更をプルしてから、ローカルの変更とマージする必要があったことでしょうか。HgはSVNを幸せにする方法を理解できません。これは、私が見た他のSOの質問と回答から得たメッセージのようです。ただし、そのような場合に提供されたアドバイス(実行中hg rebase --svn
)は、私たちにとっても機能しないようです。同じ「svnparentが見つかりません」というメッセージが表示されます。
これも可能ですか?それとも、チームの他の開発者がSVNに直接変更を加えている場合に、それ以上の問題が発生しますか?
svn - 部分的な履歴を持つMercurialワークフローへの一方向インクリメンタルSVN
SVNリポジトリでより大きなコードベースを維持しています。リリースの場合、トランクからの履歴を除いて、リリースタグ/ブランチのみをMercurialリポジトリにプッシュします。
私はDVCSの経験がほとんどないので、試したことで間違った方向に進んでいる可能性があります。欠陥を指摘したり、代替案を指摘したりできれば、とてもうれしいです。
これが私がこれまでに試したことです:
hg convert extension:変換拡張機能のドキュメント
hg convert <base project URL w/o "trunk">
に従って、ブランチとタグを含む完全な履歴をプルするために使用する完全なリポジトリを変換しました。ただし、ヒントとデフォルトのみを返し、デフォルトのみを返します。また、それは非常に遅く(はい、私はについて読みました)、完全な履歴が含まれています。インクリメンタルプルに使用できることを読みましたが、それがうまく機能していないようです。hg tags
hg branches
svnsync
hg convert extension:タグの変換と別のタグからのプルはw /で機能
-f
しますが、私はそれを本当に信用していません。削除を正しく処理しますか?hgsubversion:
hg clone
完全なリポジトリのタグとブランチも除外しますhgsubversion:
hg clone
タグ上では機能しますが、別のタグからプルすることはできません(中止:リポジトリ内の別のパスで機能できません)
ポインタをよろしくお願いします。「Noob、最初にこれを読んで、後で戻ってきてください」もありがたいです。
apache-flex - ActionScript 3.0 バージョン管理ライブラリ?
AIR アプリケーションをバージョン管理 (svn または cvs など) クライアントのように機能させる Action Script 3 用のライブラリはありますか?
ダウンロード機能を使いたいだけです。私のアプリは、更新によって変更される可能性のあるフォルダーとファイル構造に依存しています。Subversion リポジトリをオンラインで簡単に管理でき、アプリケーションがそのファイル構造をこのリポジトリに自動的に同期することができれば素晴らしいと思います。
svn - hgsubversion を使用して、最初の X ローカル コミットのみを SVN にプッシュするにはどうすればよいですか?
プロジェクトの公式 SCM は Subversion ですが、現在、プロジェクトで hgsubversion を使用してローカル コミットの利点を享受しています。ローカル コミットを SVN リポジトリにプッシュするために、これまでのところ、成功した結果が得hg rebase --svn
られた単純なものを使用してきました。hg push
私が遭遇した小さな問題の 1 つは、プッシュしたい特定の修正がある場合、他のすべてをプッシュするのではなく、その修正をコミットしてからプッシュすることができると思ったことです。しかし、これにより次のメッセージが表示されます。
中止: コミットされていない未解決の変更
いいよ。そのため、コミットされていない変更を棚上げします。しかし、何らかの理由で、特定の変更 (新しいファイルの追加) を棚上げすることができません。なんというか、実際に害を及ぼすことはないので、これをコミットするだけでよいと思います。
それが私がすることです。しかし、ヘルプドキュメントによると、この効果を持つフラグをhg push
取ることができます:-r
-r/--rev を使用すると、指定されたリビジョンとそのすべての先祖がリモート リポジトリにプッシュされます。
すごい!それはまさに私が望むもののように聞こえます。ここで、私の最新の 2 つのローカル コミットにリビジョン番号 94 と 95 が与えられているとします。最初のコミットのみを SVN にhg push -r 94
プッシュし、2 番目のコミットは純粋なローカル コミットのままにすることができると考えました。しかし、何らかの理由で、これは 94 と 95 の両方を押し上げました。
私は何を間違えましたか?