hgsubversion 拡張機能を使用して、SVN リポジトリで TortoiseHg を使用しています。
hg pull --rebase
プルするときに、SVN が行うことを反映するために使用するのが好きsvn update
です。私は hgsubversion を使用しているので、プッシュする前にとにかくリベースする必要があります。
さらに、内部で自動的にリベースを行いますが、それを回避する方法はありませんhg push
。
私の難点は、hg rebase
コミットされていない変更がある場合、動作を拒否することです。したがって、SVN からプッシュまたはプルするには、常にhg shelve
最初に行う必要があり、その後に行うことを忘れないhg unshelve
でください。これは本当に面倒で、いつも忘れてしまいます。
理想的には、これを自動的に行うように TortoiseHg に指示したいのですが、コマンドライン エイリアスで解決したいと思います。ここで提案されsvnpull = !hg shelve && hg pull --rebase && hg unshelve
ているように、構成にエイリアスを配置しようとしましたが、パスワードの入力を求められる代わりに、「user: abort: response expected」というエラーが表示されます。中央リポジトリと対話するたびに手動で保留/保留解除の手順を実行しないようにするにはどうすればよいですか?
hgsubversion はシークレットフェーズを尊重せず、hgsubversion は push するリビジョンの指定をサポートしていないため、変更をローカルに実際にコミットすることはできず、ローカルの変更をプッシュすることを避けるだけです。残念ながら、この同様の質問に対する答えはどれも私には役に立ちません。とにかく、「ローカルのみ」の変更セットが常にヒントになるように手動で調整する必要があります。