コミットしたくないファイルがあります(web.configなど)。新しいチェンジセットを取り出す前に、私はそれらを棚上げしなければなりません。引っ張った後、私はそれらを捨てなければならない。Mercurial(TortoiseHG搭載)を引き込む前に自動シェルフ?
私は現在TortoiseHGを使用しています。これを自動的に行う拡張機能はありますか?
コミットしたくないファイルがあります(web.configなど)。新しいチェンジセットを取り出す前に、私はそれらを棚上げしなければなりません。引っ張った後、私はそれらを捨てなければならない。Mercurial(TortoiseHG搭載)を引き込む前に自動シェルフ?
私は現在TortoiseHGを使用しています。これを自動的に行う拡張機能はありますか?
リポジトリの一部であり、ダミー/サンプルデータを含むものと、各ユーザーが実際にローカルで使用するものの2つの異なる設定ファイルを、常にシェルフしてアンシェリングするのではなく、これはMercurialによって無視されます。
さらに詳しい説明はthis answerをご覧ください。
Visual Studioの例ですが、.NETとVisual Studioを使用していることを他の質問や回答から確認しています。
これでいくつかのことを試してみます。
特にWeb.configファイルに関して、コミットされていないローカル変更を残す代わりに、ローカル設定ファイルを使用して上書きすることができます。 (例えば、.hgignoreにある別のファイルを参照する)。これまで私が取り組んできたプロジェクトは、テスト/プロード構成を開発用設定から分離するか、またはその逆を行うためにこれを行いました。
あなたのためにこれを行う拡張機能はありませんが、このワークフローを実行するためのクイックバッチまたはPowerShellスクリプトを作成する方がよいかもしれません。以前のプロジェクトでは、変更点を維持するためにpull/update/rebaseを実行するスクリプトを用意していました(重要なことをしたSVNサーバーに対してhgを使用していました)。
私はあなたの質問に直接答えなかったことを知っていますが、これが助けてくれることを願っています!
完全には調べていませんが、Mercurialの最新バージョンの秘密の変更について何かを見ました - > http://stackoverflow.com/a/9000662/51270 – MattGWagner
Mercurialでは、ちょうどhg pull -u
です。コミットされていない変更がヒントとマージされます。 shelve、pull/update、unshelveと同じ結果です。 TortoiseHgでは、discard/shelve/mergeのダイアログが表示されます。
プルはマージとは関係ありません。更新する場合は、マージする必要があります。コミットされていない変更がある場合、これは機能しません。ダイアログはまさにトピックです。私は自動的に元の質問を表現するように棚を置きたいと思います... –
@TheincredibleJan OPのように、そこに暗黙のプルと更新がありました。「新しいチェンジセットを引く前に、私はそれらを棚上げしなければなりません。それらをunshelve。私は答えをより明確に更新しました。 '' hg pull -u' *はコミットされていない変更がある場合には機能します。 unshelveもマージしなければならない可能性があるため、どちらの方法でもダイアログが表示されます。コマンドラインから、競合がなければプロンプトを表示しません。 TortoiseHgには、競合がない場合でもダイアログを非表示にするオプションがありますが、チェックはしていません。 –
それは良い解決策でした。 web.config.defaultをリポジトリに保存し、ローカルにコピーを作成し、必要な変更を加えてweb.configという名前を付けます。 –