この質問は、この質問で提起された質問と非常によく似ていますが、回避策の後にいくつかの問題が発生しています。
問題:
基本的に、私は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サーバーにプッシュされている状態を確認したいと思います。
停止しますか?