1

私は HgSVN で 4 つのローカル コミットを行っています。次に、ローカル コードを以前のリビジョンに更新し、変更を加え、ローカル コミットを行い、サーバー コードとマージしました。プッシュしようとすると、4 つのローカルのために許可されませんでした。マージされていないコミット。

  1. これらの 4 つのローカル コミットを HgSVN 履歴から削除/削除し、コードをプッシュする方法は?
  2. このシナリオでは何をすべきですか?

    • HgCommit を使用してコードをローカル マシンに保存し、
    • ローカルの変更をサーバーにプッシュするための HgWorkbench
    • HgCommit を使用してコードをローカル マシンに保存し、HgWorkbench を使用してローカルの変更をサーバーにプッシュする
4

1 に答える 1

1

あなたの主な問題は、ドキュメントを読まない、またはツールを盲目的に使用することを好むことです。それ以外の場合は、HgSubversion の最大の制限の 1 つを知っておく必要があります: Mercurial から Subversion マージセットにプッシュバックすることはできません。

"... Mercurial マージは Subversion にプッシュできません"

また、Mercurial wikiのHgSubversion ページには、次のように明確に記載されています。

注意すべき重要な点は、hgsubversion がマージ変更セットを svn リポジトリにプッシュできないことです。これは、この新しい head をマージしようとしてはならないことを意味します。マージすると、svn への hg push が失敗します。代わりに、Subversion リポジトリにプッシュする変更セットをリベースする必要があります (以下の変更のリベースを参照してください)。

于 2013-02-22T01:11:13.183 に答える